Developer Cafe

@SpringBootApplication 본문

Spring/어노테이션

@SpringBootApplication

개발자 카페 2021. 2. 22. 15:10
728x90

@SpringBootApplication으로 인해 스프링 부트의 자동 설정, 스프링 Bean 읽기와 생성은 모두 자동으로 설정됩니다. 특히 @SpringBootApplication이 있는 위치부터 설정을 읽어가기 때문에 항상 프로젝트 최상단에 위치해야만 합니다.

 

main메소드의 SpringApplication.run 으로 인해 내장 WAS를 실행합니다. 내장 WAS를 사용하게 되면 톰캣을 설치할 필요가 없게 되고, 스프링 부트로 만들어진 Jar 파일을 실행하면 됩니다.

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@SpringBootApplication 애노테이션은 아래의 역할들을 수행한다.

  • @SpringBootConfiguration
  • @ComponentScan
  • @EnableAutoConfiguration

@SpringBootConfiguration

스프링 부트의 설정을 나타내는 어노테이션이다. 스프링의 @Configuration을 대체하며 스프링 부트 전용 어노테이션이다. 테스트 어노테이션을 사용할 때 계속 이 어노테이션을 찾기 때문에 스프링 부트에서는 필수 어노테이션이다.

@EnableAutoConfiguration

자동 설정의 핵심 어노테이션이다. 클래스 경로에 지정된 내용을 기반으로 설정 자동화를 수행한다.

@ComponentScan

@Component @Configuration @Repository @Service @Controller @RestController

해당 어노테이션이 선언된 하위 패키지에서 위와 같은 Annotation을 찾아서 Bean으로 등록한다.

 

728x90
Comments