开发者

Spring bean initialized on web app starts up

This is probably due to my ignorance of the Spring开发者_如何学Python framewok but i am building a JSF+Facelets+Spring web app, i have a bean that whose init method i want to get called at the time the application is started. My problem is getting the bean initialized. I can reference the bean on a page, and when I go to the page, the bean is initialized, and works as directed; what I would like instead is for the bean to be initialized when the application is started

What is the way to get a Spring bean initialized on web app starts up


Your question is more Spring-targeted than JSF-targeted. I know the solution for JSF, but I don't think that this suits a Spring bean. I googled a second and found this topic at the Spring forum which may be of use for you. It describes/links several different approaches: http://forum.springsource.org/archive/index.php/t-21982.html


All the code that you want to handle immediately after an webapp is initialized can be done in a class that implements ServletContextListener as

@WebListener
public class ApplicationListener implements ServletContextListener {...}

and you can create spring application context like

ApplicationContext context = new ClassPathXmlApplicationContext(
        new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = context;

and get the bean you are interested in and go on.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜