Kim-Baek 개발자 이야기

[카카오 면접] @SpringBootApplication 본문

개발/Spring

[카카오 면접] @SpringBootApplication

김백개발자 2020. 9. 19. 12:46
카카오 면접을 준비하면서, 공부했던 내용을 정리해놓고 다시 기억하기 위한 포스팅

 

@SpringBootApplication은 다음의 3개의 어노테이션을 포함한다.

  • @SpringBootConfiguration
  • @ComponentScan
  • @EnableAutoConfiguration

SpringBoot 어플리케이션 구동에 특히 눈여겨 볼 것은 @ComponentScan  @EnableAutoConfiguration

@ComponentScan

  • @Component
  • @Configuration, @Repository, @Controller, @Service, @RestController

위 어노테이션을 포함한 모든 클래스를 Bean으로 등록한다.

@EnableAutoConfiguration - 설정 자동 등록하기

Spring의 Meta files를 읽어 들인다. 

미리 정의되어 있는 빈들을 가져와서 등록한다

  • Spring.factories

해당 위치의 org.springframework.boot.autoconfigure.EnableAutoConfiguration 를 키 값으로 하는 모든 패키지(기본 설정)를 가져온다.

각각의 클래스는 @Configuration 으로 설정되어 있다.

@Configuration 은 SpringFramework에서 설정 파일로 쓴다는 것

단, 모든 Configuration을 가져오는 것이 아니라, 각각의 클래스를 들어가보면 @Conditional~ 의 조건이 있다.

즉, 특정한 조건에 해당할 경우 각각의 Configuration을 참조한다는 것이다.

반응형
Comments