1. 程式人生 > >Spring註解方式,異常 'sessionFactory' or 'hibernateTemplate' is required的解決方法 轉載的,勞記勞記

Spring註解方式,異常 'sessionFactory' or 'hibernateTemplate' is required的解決方法 轉載的,勞記勞記

啟動工程時出現異常:
  1. Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required   
  2.     at org.springframework.orm.hibernate3.support.HibernateDaoSupport.checkDaoConfig(HibernateDaoSupport.java:118)   
  3.     at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)   
  4.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)   
  5.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)   
  6.     ... 26 more  
Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required at org.springframework.orm.hibernate3.support.HibernateDaoSupport.checkDaoConfig(HibernateDaoSupport.java:118)at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)... 26 more

專案中所有Dao實現類都繼承了自定義的BaseDaoHibernate,而BaseDaoHibernate又繼承了HibernateDaoSupport
BaseDaoHibernate extends HibernateDaoSupport

以前寫配置檔案時,sessionFactory需要單獨配置,現在全註解方式,如何設定sessionFactory呢?
在BaseDaoHibernate中增加如下方法,使用@Autowired:
 
  1. @Autowired  
  2.     public void setSessionFactoryOverride(SessionFactory sessionFactory)   
  3.     {   
  4.         super.setSessionFactory(sessionFactory);   
  5.     }