2014-09-13 2 views
5

저는 Spring Framework (4.1.0)를 통해 Java 세계에 천천히 올라서고 Listeners에 대한 도움이 필요합니다.배포 설명자를 사용하지 않고 Spring에서 리스너를 등록하는 방법

배포 설명자없이 응용 프로그램을 만들었습니다. 모든 스프링 관련 구성은 @Configuration 주석 클래스로 관리됩니다. 모든 것이 작동하지만 리스너를 등록 할 수있는 방법을 찾을 수 없습니다.

질문 : Java @Configuration에 기반한 스프링 (4.1.0)에서 청취자를 어떻게 등록 할 수 있습니까?

답변

7

WebApplicationInitializer 클래스를 사용하면됩니다. @Configuration은 스프링 구성을위한 것이지 배포 설명자를위한 것이 아닙니다.

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 접근 방식을 사용할 필요가 없었습니다. 실행되지 않았습니다. 그 이유에 대한 단서가 있습니까? – yathirigan

관련 문제