728x90
src/main/java/기본패키지 하위에 있는 Application 클래스를 다시 살펴보자.
@SpringBootApplication 이라는 어노테이션이 있다.
이 어노테이션이 뭐길래 저것만으로 클래스를 실행했을 때 스프링 부트가 동작하는 것일까.
사실 이 @SpringBootApplication 은 세 가지 어노테이션이 합쳐진 것이다.
- @Configuration : 자바 설정 파일을 위한 어노테이션이다.
- @ComponentScan : 스프링 프로젝트의 @Component라는 어노테이션이 붙은 클래스를 찾아서 Bean으로 등록한다. @Configuration, @Repository, @Service, @Controller, @RestController 등이 Component들이다.
- @EnableAutoConfiguration : spring-boot-autoconfigure -> META-INF -> spring.factories에 정의된 데이터를 읽어서 자바 설정 파일인 @Configuration들을 Bean으로 등록해준다.
Spring Boot의 빈 등록은 사실 두 단계로 진행된다.
- @ComponentScan을 통해 Component들을 Bean으로 등록한다.
- @EnableAutoConfiguration을 통해 미리 정의해둔 자바 설정 파일들을 Bean으로 등록한다.
결국 SpringBootFirstApplication.class 또한 자바 설정 파일(Configuration)로 등록을 해서 스프링에서 관리를 하는 것이다.
728x90
'프로그래밍 > Spring Boot' 카테고리의 다른 글
[Spring Boot] 파비콘 & HATEOAS & CORS (0) | 2020.07.02 |
---|---|
[Spring Boot] 의존성 관리 & 내장 웹 서버 & JAR (0) | 2020.06.29 |
[Spring Boot] 스프링 부트 소개 & 프로젝트 생성 & 구조 (0) | 2020.06.29 |