본문 바로가기

Web/Spring

[Spring Boot] Auto Configuration

반응형

설정과 원리

Spring은 component-scan을 통해 component들을 찾아 bean 생성을 진행하며 설정한 bean들이 생성된다. 이와 마찬가지로 spring에 기반을둔 spring boot 역시 이와같은 방법을 통해 bean을 생성한다.

spring boot는 이와같은 빈 생성을 어노테이션을 통해 xml 파일 없이 보다 쉽게 설정이 가능하다.

spring boot는 @Controller, @RestController, @Service, @Repository, @Bean과 같은 어노테이션은 물론 @EnableAutoConfiguration어노테이션을 이용한 auto configuration 기능에 의해 추가적인 bean들도 함께 생성된다.

1. @EnableAutoConfiguration

@EnableAutoConfiguration은 auto configuration 기능을 사용하겠다는 어노테이션이다. 해당 어노테이션을 사용하지 않으면 auto configuration 기능을 사용하지 못하게 된다.

일반적으로 @ComponentScan과 함께 사용되고 @ComponentScan("com.test.sample")과 같이 스캔할 패키지 위치를 입력하여 component scan의 범위를 지정할수있다. 즉 @ComponentScan("com.test.sample") 은 com.test.sample 하위의 모든 패키지를 component scan의 범위로 잡겠다고 설정한것이다.

만약 @ComponentScan()와 같은 스캔범위를 잡지 않는다면 Application 클래스가 놓여진 패키지가 기본적으로 스캔의 범위로 잡히게 된다.

▶ 이와 같은 방법으로 component scan을 통하여 스캔한 component들의 정보와 Spring Boot가 spring.factories 파일에 사전에 정의한 AutoConfiguration 설정 내용에 의해 bean이 생성된다.

반응형

'Web > Spring' 카테고리의 다른 글

[Spring] Filter와 Interceptor  (0) 2020.05.13
[Spring Boot] HttpMessageConverters  (0) 2020.05.13
[spring boot] ExceptionHandler  (0) 2020.05.13
[Spring] Device 체크  (0) 2020.05.13
[Hibernate + Spring Data JPA + Querydsl] Querydsl  (0) 2020.04.28