2014-09-13 6 views
5

Я медленно вступаю в мир Java через Spring Framework (4.1.0) и нуждаюсь в вашей помощи с Listeners.Как зарегистрировать слушателя весной без дескриптора развертывания

Я создал приложение без дескриптора развертывания, вся конфигурация, связанная с Spring, управляется в @Configuration аннотированных классах. Все работает, но я не могу найти способ зарегистрировать слушателей.

Вопрос: Как я могу зарегистрировать слушателей весной (4.1.0) на основе Java @Configuration аннотированный класс?

ответ

7

Вы делаете это с помощью класса WebApplicationInitializer. @Configuration предназначен для конфигураций Spring, а не для дескриптора развертывания.

public class MyWebAppInitializer implements WebApplicationInitializer { 
    @Override 
    public void onStartup(ServletContext container) { 
     container.addListener(...); 
     ... 
    } 
} 

Здесь можно найти дополнительные пояснения: How to use Spring's WebApplicationInitializer.

+0

спасибо за пояснение на эту тему. В моем приложении я использую класс, унаследованный от 'AbstractAnnotationConfigDispatcherServletInitializer', как инициализатор, таким образом, я могу зарегистрировать прослушиватель там из того, что я проверил. – xyz

+0

Да, AbstractAnnotationConfigDispatcherServletInitializer реализует WebApplicationInitializer. – Bogdan

+0

Для моего приложения SpringBoot мне не нужно было использовать этот подход addListener, infact, когда я помещаю этот код, он не запускался. Есть ли какая-нибудь подсказка о том, почему? – yathirigan

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