當應用程序啓動和停止時,我必須更新一個表條目。 我有一個服務,它具有對DAO方法的調用,但是當調用此DAO方法時,自動裝配的SessionFactory
爲空。Spring:在啓動和停止Web應用程序時更新DB-table條目
我已經使用2種方法:
- @PostConstruct,@PreDestroy
- ApplicationListener onApplicationEvent()
在這兩種情況下我得到了SessionFactory
在DAO類爲空。我在DAO類中使用Setter-Injection來注入SessionFactory
。
環境:JDBC-數據源,Hibernate的3.4,春季3.1.2的Weblogic 10.3
這將是巨大的,如果你能在正確的方向指向我。
更新: 感謝您的所有意見我解決了問題。我們的應用程序是EAR,我的DAO bean配置位於不同的WAR的applicationContext.xml中。我將DAO bean配置移動到了我的共享配置(appConfig.xml),它的工作方式就像魅力一樣。我使用@PostConstruct和@PreDestroy
向我們展示您的上下文並向我們展示所涉及的類(即帶有「Session」的類工廠'注入)。 –
您可能想查看['SmartLifeCycle'](http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/SmartLifecycle.html) – 2014-01-08 18:52:07
將代碼發佈到您所在的位置注入會話工廠併發布spring配置的xml文件。 –