Spring에서 @ComponentScan과 @EnableAuthConfiguration 어노테이션이 있는데 이 둘의 차이점을 알아볼 것이다.
Spring, Spring Boot
@ComponentScan은 Spring 컴포넌트를 검색한다.
반면 @EnableAutoConfiguration은 말그대로 Spring Boot앱의 자동 configuration을 활성화한다.
@ComponentSpan
구체적으로 알아보자. @ComponentSpan은 @Configuration 어노테이션과 함께 사용된다.
지정된 패키지에서 스캔을 시작할 수도 있으며, 이는 basePackageClasses() 또는 basePackages()를 사용하여 정의할 수 있다.
패키지가 지정되지 않으면 @ComponentScan 주석을 선언하는 클래스의 패키지를 시작 패키지로 간주한다.
@EnableAuthConfiguration
이 어노테이션을 사용하면 Spring Boot가 앱을 자동으로 configuration해준다.
우리가 정의한 Bean과 클래스패스에 포함된 jar파일을 자동으로 생성하고 등록하는 것이다.
@SpringBootApplication
Spring Boot 1.2.0부터 @Configuration, @EnableAutoConfigaration, @ComponentScan 세 어노테이션을 결합한 @SpringBootApplication을 사용할 수 있다.