这可能是由于我对Spring framewok的无知,但我正在构建一个JSF + Facelets + Spring Web应用程序,我有一个bean,我想在应用程序启动时调用其init方法。我的问题是将bean初始化。我可以在页面上引用bean,当我转到页面时,bean被初始化,并按照指示工作;我想要的是在应用程序启动时初始化bean
在Web应用程序启动时初始化Spring bean的方法是什么?
答案 0 :(得分:2)
您的问题比针对JSF的目标更具针对性。我知道JSF的解决方案,但我认为这不适合Spring bean。我用谷歌搜索了一下,在Spring论坛上发现了这个话题,可能对你有用。它描述/链接了几种不同的方法:http://forum.springsource.org/archive/index.php/t-21982.html
答案 1 :(得分:1)
初始化webapp之后要立即处理的所有代码都可以在实现ServletContextListener的类中完成
@WebListener
public class ApplicationListener implements ServletContextListener {...}
您可以创建像
这样的spring应用程序上下文ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = context;
并获取您感兴趣的bean并继续。