SpringBootApplication

SpringBootApplication에 대해 알아볼 페이지

Intro

스프링부트는 하나의 어노테이션으로 다양한 설정을 자동으로 등록합니다. 스프링부트 프로젝트 생성시 자동으로 생성되는 파일에 존재하는 @SpringBootApplication은 어떤 설정들을 자동으로 등록하고 있는지 알아보도록 하겠습니다.

SpringBootApplication

lombok@Get, @Set, @Tostring 등 다양한 어노테이션들이 하나의 @Data어노테이션에서 통합되어 관리되고 있던게 기억나실까요? @SpringBootApplication도 마찬가지입니다. 위에서 보이는 @Target부터 @ComponentScan까지 다양한 어노테이션들을 통합시킨 어노테이션이 @SpringBootApplication인거죠. 그럼 각 어노테이션들에 대해 간단하게 살펴보도록 하겠습니다.

1) Target

  • SpringBootApplication어노테이션을 사용할수 있는 Target을 지정하는 어노테이션입니다.

2) Retention

  • 현재 어노테이션이 Runtime동안 유지되게끔 하는 설정입니다.

3) Documented

  • 현재 어노테이션이 javdoc문서 생성시 포함되게하는 설정입니다.

4) Inherited

  • 어노테이션이 적용된 자식클래스에도 현재 어노테이션을 상속시켜주는 설정입니다.

5) SpringBootConfiguration

  • 현재 클래스가 Configuration역할의 bean객체임을 의미하는 설정입니다.

6) EnableAutoConfiguration

  • 스프링부트의 자동설정을 활성화 하는 속성입니다.

  • classpath설정, bean객체등록 , context생성, 디스패쳐서블릿 생성등 다양한 작업을 수행합니다.

7) ComponentScan

  • 어노테이션이 지정된 클래스의 패키지경로의 클래스를 탐색하여 bean객체로 등록하는 설정입니다.

Last updated