ServletContainerInitializer 구현체와 함께 사용되는 애노테이션
- 서블릿 컨테이너가 관심 가져야하는 클래스들을 정의하고 특정 타입(클래스, 인터페이스)에 관심이 있다고 선언할 수 있다.
- 서블릿 컨테이너는 애플리케이션 내 클래스를 스캔하여 다음 조건에 해당하는 클래스를 찾는다.
- 지정된 인터페이스 구현
- 지정된 클래스 상속
- 지정된 애노테이션으로 마크
- 이때 찾은 클래스들은
ServletContainerInitializer의 onStartup 메서드로 전달되고 매칭되는 클래스가 없다면 null이 전달된다.
ServletContainerInitializer
public interface ServletContainerInitializer {
public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException;
}
ServletContainerInitializer 구현체
@HandlesTypes(WebApplicationInitializer.class)
public class SpringServletContainerInitializer implements ServletContainerInitializer {
@Override
public void onStartup(Set<Class<?>> webAppInitializerClasses, ServletContext servletContext)
throws ServletException {
}
}