分享

spring getHibernateTemplate() 返回null的问题

 一本正经地胡闹 2019-09-11

 public class BasicDAOImpl extends HibernateDaoSupport implements BasicDAO{
    
     
    public List findByHql(String hql)throws DataAccessException{
     System.out.println("1111111111111"+getHibernateTemplate());
     List list = new ArrayList();
      list = getHibernateTemplate().find(hql);
     return list;
    } 

   public static void main(String[] args){
         ApplicationContext context = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
         BasicDAO dao= (BasicDAO )context.getBean("basicDAO");
  

         BasicDAO dao= new BasicDAO();       
         List list = dao.findByHql("");
         System.out.println("ffffffffffffffff"+list.size());
    }   
}

说明:如果红色部分注释掉改用绿色部分的话,则getHibernateTemplate()为空,原因:

      (1)HibernateDaoSupport 需要注入SessionFactory对象

      (2)new 一个新对象,并没有注入SessionFactory对象,因此你应该从spring容器中去获取对象

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多