스프링 웹 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 자동설정 사용하지 않음.





© 2019. by jaeuk