spring-boot-study
[ Inflearn ] 스프링 부트 개념과 활용 강의를 듣고 챕터별 간단하게 정리합니다.
내용적 오류가 존재 할 수 있으며 부족한 부분은 언제든지 지적해주시면 감사드립니다.
3. 자동설정의 이해
Spring boot 을 실행 할때 우리는 @SpringBootApplication
애노테이션이 붙은 클래스를 찾아가서 실행을한다.
@SpringBootApplication
이라는 애노테이션 만으로 webApplication 을 구동 시킬수있다.*
어떻게 @SpringBootApplication
이라는 애노테이션만으로 많은 자동설정을 할 수 있을까?
@SpringBootApplication
애노테이션을 알아보자
여기서 핵심은
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
이 3가지의 애노테이션이다.
-
@SpringBootConfiguration
->
@Configuration
이랑 동일하다@Configuration
은 빈을 등록하기위한 설정 애노테이션이다 spring 기초에서 많이 보았다.
-
@ComponentScan
->
@Component
가 달린 애노테이션을 찾아 빈으로 등록해주는 애노테이션이다.
-
@EnableAutoConfiguration
-> 여태까지 springboot 를 사용하고 처음보는 애노테이션이다. 더 바로 아래에서 자세히알아보자.
@EnableAutoConfiguration
@EnableAutoConfiguration
애노테이션은
java -> resource 디렉토리 -> META-INF-> spring.factories 파일에 있는
org.springframework.boot.autoconfigure.EnableAutoConfiguration
키값에 존재하는 value 들을 자동으로 설정해준다.
어? 그러면은 @EnableAutoConfiguration
, @ComponentScan
둘 중 누가 먼저 실행되어 빈을 등록 할까?
1단계: @ComponentScan
2단계: @EnableAutoConfiguratio
순으로 실행되어 빈을 등록한다. 이 부분은 중요하니 꼭 기억하자 !
'Spring > boot' 카테고리의 다른 글
[spring-boot] 외부설정(application.properties) (0) | 2021.01.13 |
---|---|
[Spring-boot] ApplicationEvent 등록 (0) | 2021.01.12 |
[Spring-boot] 자동설정 2부 (0) | 2021.01.12 |
[Spring-boot] 자동설정 1부 (0) | 2021.01.12 |
[Spring-boot] 의존성 이해와 응용 (0) | 2021.01.12 |