开发者

Spring bean initialized on web app starts up

开发者 https://www.devze.com 2022-12-22 11:14 出处:网络
This is probably due to my ignorance of the Spring开发者_如何学Python framewok but i ambuilding a JSF+Facelets+Spring web app, i have a bean that whose init method i want to get called at the time the

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

精彩评论

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