spring中sessionFactory的配置dao中用模版写的提示没有setter方法
hibernate中sessionFactory的配置这个怎么解决啊~~~

解决方案 »

  1.   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <import resource="../hibernate/applicationContext_hib.xml" />        <!-- sessionFactory-->
            <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>
    </props>
    </property>
    <property name="mappingResources">
    <list>
    <value>com/mytest/codes/entity/Mytable.hbm.xml</value>
    <value>com/mytest/codes/entity/Users.hbm.xml</value>
    </list>
    </property>
    </bean> <!-- Dao -->
    <bean id="userDao" class="com.mytest.codes.biz.impl.UserBizImpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean> <!-- Biz -->
    <bean id="userBiz" class="com.mytest.codes.dao.impl.UserDaoImpl">
    <property name="userDao" ref="userDao"></property>
    </bean> <!-- Action -->
    <bean name="/user" class="com.mytest.codes.web.action.UserAction">
    <property name="userBiz" ref="userBiz"></property>
    </bean>

    </beans>spring中的配置   它提示:referencd bean 'sessionFactory' not foundpackage com.mytest.codes.dao.impl;import java.util.List;import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    import com.mytest.codes.dao.UserDao;
    import com.mytest.codes.entity.Users;public class UserDaoImpl implements UserDao { private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
    }
    /**
     * 得到用户信息
     * 
     * @param users
     * @return 返回用户实体类
     */
    public Users getUsersInfo(Users users) {
    Users myUser = null;
    String hql = "from Users where userName=? and userPass=?";
    Session sesion = sessionFactory.openSession();
    Query query = sesion.createQuery(hql);
    /*
     * String[] param = { users.getUserName(), users.getUserPass() }; List<Users>
     * list = getHibernateTemplate().find(hql, param);
     */
    List<Users> list = query.list();
    if (list != null && list.size() != 0) {
    myUser = list.get(0);
    }
    return myUser;
    }
    }Dao中的代码
      

  2.   

    将UserDaoImpl 继承 HibernateDaoSupport 并实现UserDao将UserDaoImpl中属性sessionFacory以及对应的setter方法去掉试试   
      

  3.   

      不好意思,我刚发现了,这是个低级错误 
    spring中Dao和Biz写反了
    唉 丢人······
      

  4.   

    1.sessionFactory中有dataSource,你dataSource配置了没
    2.你UserDaoImpl 中写的是注入sessionFactory
     但是你的Spring.xml中配置的是注入userDao
      

  5.   

    <!-- Dao -->
    <bean id="userDao" class="com.mytest.codes.dao.impl.UserDaoImpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean> <!-- Biz -->
    <bean id="userBiz" class="com.mytest.codes.biz.impl.UserBizImpl">
    <property name="userDao" ref="userDao"></property>
    </bean> 应是这样的 写的很急所以扩错了