sessionFactory这个在使用前,是谁负责初始化的?

解决方案 »

  1.   

    在spring的配置文件有没有配置HibenateProductDaoImpl
      

  2.   

    spring配置文件没有写sessionFactory吧
      

  3.   

    我发现了....我在启动的Servlet中new 了一个HibenateProductDaoImpl();它继承了HibernateDAOSupport则会出错,这时它好像只能用注入的方式.否则直接用Hibernate就没问题. 
    在非Action的类中要注入DAO是用 
    <bean id="" class=""/>的形式吧??
    我写了个AjaxBean.java试了下用设值注入不行.
    只能用构造子方法的形式注入DAO
      

  4.   

    构造子方法的形式注入DAO,也是不行的,不知各位有什么办法给下面的AjaxBean注入DAO??
    依赖注入的问题:
    public class AjaxBean {
    public static Logger logger = Logger.getLogger(AjaxBean.class);
        public boolean chkLoginName(String loginName){
    // IUserService userS=new UserServiceImpl(); 
    boolean result = false;
    try{    
    // 存在该用户名,则返回true;
    ////////////////////////////////////////////////
    result = userS.checkUser(loginName);/////////在这里出错!!!!!
    ////////////////////////////////////////////////
    }catch(Exception ex){
        logger.info("在执行AjaxBean类中的chkLoginName方法时出错:\n");
    ex.printStackTrace();
    }
    return result;
    }
    }
    怎样才能给AjaxBean注入BO或DAO????是AjaxBean要实现某个接口或某个类吗????
      

  5.   

    最简单明了的还是setter依赖注入
    在Spring配置文件里面,首先定义了AjaxBean为Spring的一个bean,然后把你定义好的dao、service等等,需要什么就注入什么,
    前提是这些dao、service你在Spring的配置文件中也定义过,否则是获取不到的例如:
    <bean id="testBean" class="HOHO.testService">
      <property name="testDAO" ref="testDAO">
    </bean><bean id="testDAO" class="HOHO.testDAO">
      <property name="sessionFactory" ref="sessionFactory">
    </bean>在testService中
    你就需要
    TestDAO testDAO;public void setTestDAO(TestDAO testDAO)
    {
      this.testDAO = testDAO;
    }