SpringSecurity 강의를 듣던 중, 기본적으로 application.yml에서 suffix를 mustache로 설정해놓고,
suffix가 html인 파일도 인식할 수 있도록 WebMvcConfig 파일을 생성하였다.
여기서 @Configuration과 implements WebMvcConfigurer에 대해 알아보고자 한다.
@Configuration vs @Component
@Component는 개발자가 직접 작성한 클래스를 Bean으로 등록하고자 할 때 사용한다.
@Configuration은 @Component를 포함하는데, 외부 라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 때, 1개 이상의 Bean을 제공하는 클래스에 붙여 사용한다.
WebMvcConfigurer은 interface이다.
@EnableWebMvc를 통해 SpringMvc를 위해 커스터마이즈드된 java-based configuration을 정의한다.
그렇다면, @EnableWebMvc와, @Configuration과 implements WebMvcConfigurer의 차이는 무엇일까?
기존 설정된 bean 설정을 유지하고, 기능을 단순히 추가할 때는 WebMvcConfigurer를 구현하고 @Configuration 을 추가한 클래스를 만들면 된다.
기존과 다르게 Spring MVC를 제어하려한다면 @EnableWebMvc를 추가하면 된다.
'SpringBoot' 카테고리의 다른 글
@RequestBody는 Get방식에 사용하면 안된다 (0) | 2023.08.01 |
---|
댓글