使用HibernateDaoSupport组合Annotation的时候经常会出现下面的异常:
Error creating bean with name 'XXX' 'sessionFactory' or 'hibernateTemplate' is required
error的原因:
初始化bean的时候需要sesssionFactory或者hibernateTemplate的实例
解决办法:
1、不用Annotation,该类用xml的方式注入
2、创建一个类,由这个类来继承HibernateDaoSupport并且覆盖父类的setSuperSessionFactory(返回值为void,参数为SessionFactory),在方法中调用父类(HibernateDaoSupport)的setSessionFactory方法(参数为sessionFactory),然后需要用到HibernateDaoSupport的类直接继承此类即可
3、在spring的xml文件的beans标签中加入:default-autowire="byName"属性