스프링 웹 MVC-05.스프링/부트 MVC 설정
스프링 MVC 설정
스프링 MVC 구성 요소 직접 빈으로 등록하기
- @Configuration을 사용한 자바 설정 파일에 직접 @Bean을 사용해서 등록하기
@EnableWebMvc
- 애노테이션 기반 스프링 MVC를 사용할 때 편리한 웹 MVC 기본 설정
@Configuration @EnableWebMvc public class WebConfig { }
WebMvcConfigurer 인터페이스
- @EnableWebMvc가 제공하는 빈을 커스터마이징할 수 있는 기능을 제공하는 인터페이스
@Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void configureViewResolvers(ViewResolverRegistry registry) { registry.jsp("/WEB-INF/", ".jsp"); } + 오버라이딩으로 추가 메서드 구현(커스터마이징) 포메터(addFormatters), 인터셉터(addInterceptors) 등.. }
스프링 부트의 MVC 설정
스프링 부트의 “주관”이 적용된 자동 설정이 동작한다.
- JSP 보다 Thymeleaf 선호
- JSON 지원
- 정적 리소스 지원 (+ 웰컴 페이지, 파비콘 등 지원)
스프링 MVC 커스터마이징
- application.properties
ex.
#spring.thymeleaf.prefix=classpath:/templates/ (디폴트 설정 경로 - ThymleafProperties class)
spring.thymeleaf.prefix=classpath:/templates/view/ - @Configuration + Implements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 + 추가 설정 (대부분의 경우 합리적인 선택)
- @Configuration + @EnableWebMvc + Imlements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 사용하지 않음.