티스토리 뷰
반응형
@EnableWebMvc
애노테이션 기반 스프링 MVC를 사용할 때 편리한 웹 MVC 기본 설정
@Configuration
@ComponentScan
@EnableWebMvc
public class WebConfig {
}
DispatcherServlet의 기본적인 전략과 @EnableWebMvc 사용 시 handlerMapping, handlerAdapter, viewResolver를 확인
DispatcherServlet 기본적인 전략
- handlerMappings
- BeanNameUrlHandlerMapping(url 기반으로 매핑 처리)
- order = 매우 낮은 우선 순위
- RequestMappingHandlerMapping
- interceptors : size = 0;
- order = 매우 낮은 우선 순위
- BeanNameUrlHandlerMapping(url 기반으로 매핑 처리)
- handlerAdapters
- HttpRequestHandlerAdapter
- SimpleControllerHandlerAdapter
- RequestMappingHandlerAdapter
- messageConvertes : size = 4;
- order = 매우 낮은 우선 순위
- 우선 순위가 모두 동일, 등록되어 있는 순으로 우선순위 다른 듯
@EnableWebMvc
@Configuration
@ComponentScan
@EnableWebMvc
public class WebConfig {
}
//WebApplication
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
//@EnableWebMvc를 사용하기 위해선 DispatcherServlet이 사용하는 애플리케이션 컨텍스트의 서블릿 컨텍스트가 설정 되어야 함.
context.setServletContext(servletContext);
DispatcherServlet dispatcherServlet = new DispatcherServlet(context);
ServletRegistration.Dynamic app = servletContext.addServlet("app", dispatcherServlet);
app.addMapping("/app/*");
}
- handlerMappings
- RequestMappingHandlerMapping(1순위)
- order = 1
- interceptors : size = 2;
- BeanNameUrlHandlerMapping
- order = 2
- RequestMappingHandlerMapping(1순위)
- handlerAdapters
- RequestMappingHandlerAdapter(1순위)
- messageConvertes : size = 6;
- HttpRequestHandlerAdapter
- SimpleControllerHandlerAdapter
- RequestMappingHandlerAdapter(1순위)
- @EnabelWebMvc를 사용할 시 RequestMappingHandlerMapping과 RequestMappingHandlerAdapter가 1순위로 바라보기 때문엔 애노테이션 기반의 HandlerMapping을 할 시 성능적으로 우수할 것이다.
반응형
'Spring > Spring 웹 MVC' 카테고리의 다른 글
[스프링 웹 MVC] 스프링 부트의 스프링 MVC 설정 (0) | 2020.04.07 |
---|---|
[스프링 웹 MVC] WebMvcConfigurer 인터페이스 (0) | 2020.04.07 |
[스프링 웹 MVC] 스프링 MVC 빈 설정 (0) | 2020.04.06 |
[스프링 웹 MVC] 스프링 MVC 동작 원리 정리 (0) | 2020.03.18 |
[스프링 웹 MVC] DispatcherServlet 동작원리(3) (0) | 2020.03.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ifPresent
- Effective Java
- 생성자
- 정적팩터리메서드
- Spring
- 빈 순환 참조
- effectivejava
- jdk버전
- JPA
- 복사 팩토리
- junit
- @Lazy
- 자바8
- flatMap
- 팩토리 메소드 패턴
- 이펙티브 자바
- 연관관계
- 김영한
- java
- 스프링부트
- package-private
- try with resources
- mustache
- springboot
- try catch finally
- 점층적 생성 패턴
- java8
- 빌더 패턴
- 이펙티브자바
- 인프런
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함