Spring
ServletContextListener 이벤트 처리
jayden-lee
2019. 7. 26. 11:29
728x90
ServletContextListener 인터페이스
스프링 웹 애플리케이션 컨텍스트의 실행 시점과 종료 시점 이벤트를 리스닝 하는 인터페이스이다.
public interface ServletContextListener extends EventListener {
public default void contextInitialized(ServletContextEvent sce) {
}
public default void contextDestroyed(ServletContextEvent sce) {
}
}
ServletContextListener 메서드
- contextInitialized : 애플리케이션이 시작될 때 호출되는 메서드
- contextDestroyed : 애플리케이션이 중지될 때 호출되는 메서드
CustomServletContextListener 구현
public class CustomServletContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Initialized Context");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Destroyed Context");
}
}
CustomServletContextListener 리스너 등록
Configuration
클래스에 CustomServletContextListener 클래스를 Bean으로 등록을 해야만 이벤트를 리스닝 할 수 있다.
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
@Bean
ServletListenerRegistrationBean<ServletContextListener> servletListener() {
ServletListenerRegistrationBean<ServletContextListener> srb = new ServletListenerRegistrationBean<>();
srb.setListener(new CustomServletContextListener());
return srb;
}
}