Автопроводка внутри contextInitialized метода Context Listener - PullRequest
2 голосов
/ 16 марта 2012

Я пытаюсь автоматически связать свой bean-компонент внутри метода contextInitialized () моего пользовательского класса Context Listener, но он не работает.

public class CustomContextListener extends ContextLoaderListener {
    @Autowired
    private MyBeanClass bean;

    @Override
    public void contextInitialized(javax.servlet.ServletContextEvent event) {
          super.contextInitialized(event);
          //call to my method.
          bean.mymethod();
}

Но здесь он не получает автосвязь, я получаю нулевой объектдля справки MyBeanClass.Как автоматически связать класс во время запуска tomcat.Пожалуйста, предоставьте мне альтернативные места, где я могу выполнить некоторый код, используя автопроводку во время запуска сервера (здесь tomcat).

1 Ответ

1 голос
/ 30 июля 2012

Я бы предложил использовать метод WebApplicationContext, чтобы найти компонент, а затем вызвать.

WebApplicationContext servletContext =  WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());

bean = (MyBeanClass) servletContext.getBean("myBeanClass");
bean.yourMethod();

Более систематично для использования ...:)

...