在web应用程序初始化的Spring bean启动

问题描述:

这可能是由于我对Spring framewok的无知,但是我构建了一个JSF + Facelets + Spring web应用程序,我有一个bean,它的init方法我想在应用程序启动的时间。我的问题是让bean初始化。我可以在页面上引用bean,当我进入页面时,bean被初始化,并按照指示工作;我想反而是当应用程序启动在web应用程序初始化的Spring bean启动

是什么让一个Spring bean上的Web应用程序初始化的方法来初始化这个bean启动

你的问题是更Spring的针对性比JSF-有针对性的。我知道JSF的解决方案,但我不认为这适合Spring bean。我搜索了一秒,在Spring论坛上发现了这个话题,可能对您有用。它描述/链接几种不同的方法:http://forum.springsource.org/archive/index.php/t-21982.html

所有的代码,你想一个web应用程序初始化可以在实现了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并继续。