<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
       <property name="sessionFactory">
         <ref bean="sessionFactory"/>
         
       </property>
</bean>为什么要配置这段,把sessionFactory赋给hibernateTemplate????有这个必要吗???

解决方案 »

  1.   

    这段可以不配,只配SessionFactory就可以了
      

  2.   

    这段就是告诉HibernateTemplate,sessionfactory在哪里,
    spring都是松耦合的,不在配置文件指出,他咋知道在哪里
      

  3.   

    HibernateTemplate那么多操作接口执行CRUD操作,它总需要数据库连接信息吧?
      

  4.   

    一定要配,要不然就不能用hibernatetemplate
      

  5.   

    很简单的,其实就Ioc;
    如果要想细说不得不说,这样的
     
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  
    <property name="sessionFactory">  <ref bean="sessionFactory"/>  
    </property>  
    </bean><bean id="dao" class="com.wang.DAO.Answer_DAO_mySQLimp">
    <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
    DAO类不是extends HibernateDaoSupport,他了吗?
    hibernateTemplate,有封装sessionFactory的set,get方法;;
    HibernateDaoSupport,有封装hibernatetemplate的set,get方法;
    当你这么配置的时候,运行服务器,Ioc就动态的将sessionFactory封装到hibernateTemplate里,然后在调用HibernateDaoSupport的sethibernatetemplate()注入;
    也就说sessionFactory注入到hibernateTemplate,hibernateTemplate注入到HibernateDaoSupport,而你的DAO继承HibernateDaoSupport,所以一个gethibernateTemplate方法就就可以直接用了
      

  6.   

    是一个注入  
       DAO类,extends HibenrateDaoSupport
       HibenrateDaoSupport这个类中要一个注入的属性
       为sessionFactory
      

  7.   

    HibernateTemplate是用来封装样板代码的,最终实现业务功能还得通过sessionfactory,开会话等等!