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

时间:2010-03-04 20:27:04

标签: spring jsf initialization

这可能是由于我对Spring framewok的无知,但我正在构建一个JSF + Facelets + Spring Web应用程序,我有一个bean,我想在应用程序启动时调用其init方法。我的问题是将bean初始化。我可以在页面上引用bean,当我转到页面时,bean被初始化,并按照指示工作;我想要的是在应用程序启动时初始化bean

在Web应用程序启动时初始化Spring bean的方法是什么?

2 个答案:

答案 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并继续。