【问题标题】:Spring bean initialized on web app starts up在 Web 应用程序上初始化的 Spring bean 启动
【发布时间】:2011-01-23 20:37:51
【问题描述】:
这可能是由于我对 Spring 框架的无知,但我正在构建一个 JSF+Facelets+Spring Web 应用程序,我有一个 bean,我想在应用程序启动时调用它的 init 方法。我的问题是初始化 bean。我可以在页面上引用 bean,当我转到页面时,bean 被初始化,并按指示工作;我想要的是在应用程序启动时初始化 bean
在 web 应用启动时初始化 Spring bean 的方法是什么
【问题讨论】:
标签:
spring
jsf
initialization
【解决方案2】:
你想要在 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;
得到你感兴趣的豆子然后继续。