ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SPRING MVC 설정 관련 정리
    SPRING/스프링 MVC 2021. 6. 11. 01:16

    DISPATCHSERVLET 이용

     

    - DisspatcherServlet가 Web을 구동하는데 필요한 여러 Bean을 자동으로 등록해준다.

    @Configuration
    @ComponentScan
    public class WebConfig {
     
        @Bean
        public ViewResolver viewResolver() {
    
            InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
            viewResolver.setPrefix("/WEB-INF/");
            viewResolver.setSuffix(".jsp");
            return  viewResolver;
        }
        
    }

     

    필요하다면 위와 같이 WebConfig 클래스에 Bean을 직접 등록하여 DispatcherServlet을 초기화할 수 있습니다.

    하지만 위와 같은 방법은 현재 거의 사용하지 않고 있습니다.

     

     

    일반적으로 스프링 MVC에 대한 커스터마이징은 아래 3가지로 방식으로 가능하다.

    1. application.properties  (스프링 부트)

    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp

    2. @Configuration + Implements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 + 추가 설정

    -> 일반 스프링MVC에서는 아래의 설정이 먹히지 않음. 3번과 같이 @EnableWebMvc를 추가 해야한다.

    @Configuration
    @ComponentScan
    public class WebConfig implements WebMvcConfigurer {
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            registry.jsp("/WEB-INF/",".jsp");
        }
    
    }

     

    3. @Configuration + @EnableWebMvc + Imlements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 사용하지 않음.

     

    EnableWebMvc 이란 ? : 스프링MVC를 구성할 때 필요한 Bean설정들을 자동으로 해주는 어노테이션임.

    기본적으로 등록해주는 Bean 이외에 추가적으로 개발자가 필요로 하는 Bean 등록을 보다 쉽게 할 수 있음.

     

    위 스크린샷과 같이 Interceptor, Formatters등 필요한 기능들을 보다 간단히 추가할 수있다.

    @Configuration
    @EnableWebMvc
    @ComponentScan
    public class WebConfig implements WebMvcConfigurer {
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            registry.jsp("/WEB-INF/",".jsp");
        }
    
    }

     

     

    'SPRING > 스프링 MVC' 카테고리의 다른 글

    Formatter 추가하기  (0) 2021.06.14
    스프링 부트에서 JSP 사용하기  (0) 2021.06.13
    스프링 MVC -WEB.XML 제거  (0) 2021.06.10
    DispatchServlet 분석  (0) 2021.06.06
    스프링 MVC 연동  (0) 2021.06.06
Designed by Tistory.