SPRING/스프링 MVC

스프링 MVC -WEB.XML 제거

JUMP개발자 2021. 6. 10. 23:43

DispatcherServlet 초기화 

 

1. 특정 타입에 해당하는 빈을 찾는다. 

2. 없으면 기본 전략을 사용한다. (DispatcherServlet.properties) 

 

스프링 부트 사용하지 않는 스프링 MVC 

● 서블릿 컨네이너(ex, 톰캣)에 등록한 웹 애플리케이션(WAR)에 DispatcherServlet을 등록한다.

○ web.xml에 서블릿 등록 

○ 또는 WebApplicationInitializer에 자바 코드로 서블릿 등록 (스프링 3.1+, 서블릿 3.0+)

● 세부 구성 요소는 빈 설정하기 나름.

public class WebApplication implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.register(WebConfig.class);
        context.refresh();

        DispatcherServlet dispatcherServlet = new DispatcherServlet(context);
        ServletRegistration.Dynamic app = servletContext.addServlet("app", dispatcherServlet);
        app.addMapping("/app/*");
    }
}

 

스프링 부트를 사용하는 스프링 MVC 

● 자바 애플리케이션에 내장 톰캣을 만들고 그 안에 DispatcherServlet을 등록한다.

○ 스프링 부트 자동 설정이 자동으로 해줌. 

● 스프링 부트의 주관에 따라 여러 인터페이스 구현체를 빈으로 등록한다.