Spring bean, инициализированный в веб-приложении, запускается - PullRequest
2 голосов
/ 04 марта 2010

Это, вероятно, из-за моего незнания о Spring Framewok, но я создаю веб-приложение JSF + Facelets + Spring, у меня есть bean-компонент, чей метод init я хочу вызвать при запуске приложения. Моя проблема в инициализации компонента. Я могу ссылаться на bean-компонент на странице, и когда я перехожу на страницу, bean-компонент инициализируется и работает в соответствии с указаниями; вместо этого я хотел бы, чтобы компонент инициализировался при запуске приложения

Каким образом инициализируется bean-компонент Spring в веб-приложении

Ответы [ 2 ]

2 голосов
/ 05 марта 2010

Ваш вопрос больше ориентирован на Spring, чем на JSF. Я знаю решение для JSF, но я не думаю, что это подходит для Spring bean. Я гуглил секунду и нашел эту тему на форуме Spring, которая может быть вам полезна. Он описывает / связывает несколько разных подходов: http://forum.springsource.org/archive/index.php/t-21982.html

1 голос
/ 23 мая 2012

Весь код, который вы хотите обработать сразу после инициализации веб-приложения, может быть выполнен в классе, который реализует 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;

, получите интересующий вас бин и продолжайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...