SSH整合創建SessionFactory


在spring中的 applicationContext.xml中配置如下信息

<!-- 配置數據連接類 -->      
    <bean id="dataSource"  class="org.apache.commons.dbcp.BasicDataSource">  
        <property name="driverClassName"  
            value="org.gjt.mm.mysql.Driver">  
        </property>  
        <property name="url" value="jdbc:mysql://localhost:3306/hibernate"></property> 
        <property name="username" value="root"></property>
        <property name="password" value="1"></property>  
   </bean>  
<!-- 配置session工廠類 -->      
    <bean id="sessionFactory"  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
        <property name="dataSource">  
            <ref bean="dataSource" />  
        </property>  
        <property name="hibernateProperties">  
            <props>  
                <prop key="hibernate.dialect">  
                    org.hibernate.dialect.MySQLDialect   
                </prop>  
                <prop key="hibernate.show_sql">true</prop>  
            </props>  
        </property>  
        <property name="mappingResources">  
          <value>org/it/po/User.hbm.xml</value>  
        </property>  
     </bean> 

而下如下創建SessionFactory 實例時總是報NollPointException

  Session session = sessionFactory.openSession();
  session.beginTransaction();
   User user = (User)session.load(User.class, 1);
  session.getTransaction().commit();

 在網上找到解決方法 原因是spring.xml中沒有加上default-autowire="byName" ,在注解的時候找不到實例化的sessionFactory,而注入了一個空的,在hibernate檢查的時候就報那個錯了。spring配置文件加入byName的方式注入bean后,就可以正確使用注解了

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"   
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd"
           default-autowire="byName" default-lazy-init="true">

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM