把这里两个sessionFactory都改成hibernateTemplate<!--
*************************************
以下 bean 定义了 Spring 的 HibernateTemplate,
当需要在程序中直接对持久化层进行访问时,
可以直接使用 Spring 提供的 HibernateTemplate 类进行操作
*************************************
-->
<bean id="InfoContextlistDAO" class="dao.InfoContextlistDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

解决方案 »

  1.   

    啊?我在配置文件里并没有定义名为或ID为 hibernateTemplet 的 bean 啊我定义的名字是 sessionFactory <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation">
    <value>/WEB-INF/classes/hibernate.cfg.xml</value>
    </property>
    </bean>
      

  2.   

    *************************************************
    UserServiceImpl.java
    -------------------------------------
    package service;
    import dao.InfoContextlistDAO;public class UserServiceImpl implements IUserService {private InfoContextlistDAO infoDAO = new InfoContextlistDAO();public void setInfoContextlistDAO(InfoContextlistDAO DAO){
    this.infoDAO = DAO;
    }--------------------------------------------------------------
    你把new InfoContextlistDAO();去掉, 用了SET注入,有了一个可以用的DAO,结果又被你自己覆盖掉了. :)