2012-03-16 2 views
2

Я пытаюсь autowiring мой bean внутри contextInitialized() метод моего настраиваемого класса List List List, но он не работает.Autowiring in contextInitialized метод прослушивания контекста

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. Пожалуйста, предоставьте мне альтернативные места, где я могу выполнить некоторый код, используя autowiring во время запуска сервера (здесь tomcat).

+2

'ContextLoaderListener' сама по себе не управляется Spring, он используется для создания контекста приложения. Вы не можете использовать автоуправление внутри него. Вам нужно объяснить, чего вы пытаетесь достичь. – skaffman

+0

Я хочу назначать задания при запуске приложения – Nagesh

ответ

1

Я бы предложил использовать метод WebApplicationContext для поиска компонента и последующего вызова.

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

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

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

+1

Это не работает. servletContext имеет значение null. – pakore

+0

Этот код работает нормально, использовал этот код, но не обновлялся здесь. Принимается ответ. – Nagesh

 Смежные вопросы

  • Нет связанных вопросов^_^