-
@SpringBootApplication 어노테이션Java, Kotlin, Spring 2022. 5. 20. 08:48
@SpringBootApplication
SpringBoot 프로젝트를 시작하면 @SpringBootApplication 어노테이션이 기본으로 설정되어 있다.
@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters={@ComponentScan.Filter(type=CUSTOM,classes=TypeExcludeFilter.class),}) public @interface SpringBootApplication
@SpringBootApplication 은 그 안에 @EnableAutoConfiguration 과 @ComponentScan 을 내장하고 있다.
따라서 @SpringBootApplication 을 작성하면 auto-configuration 과 component scanning 기능이 자동으로 활성화된다.
SpringApplication.run 메소드
Application 기본 코드를 살펴보면 아래와 같다.
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
여기서 SpringApplication.run 메소드의 동작은 다음과 같다.
- run() 메소드는 SpringBoot 의 내장 WAS 인 Tomcat 을 실행한다.
- 이를 통해서 별도의 WAS 를 설치할 필요가 없어졌고, jar 파일을 바로 실행 가능하다.
- SpringBoot 는 내장 WAS 사용을 권장한다. 이유는 별도의 Tomcat 설정으로 인한 의존성을 회피하고 어느 서버 환경에서든 동일한 Application 을 배포할 수 있기 때문이라 한다.
반응형'Java, Kotlin, Spring' 카테고리의 다른 글
Java 8 주요 업그레이드 사항 (0) 2022.05.25 JVM 메모리 구조 (0) 2022.05.20 Java Compile 과정 (0) 2022.05.07 Testcontainers 재사용 설정하기 (0) 2022.01.12 스프링 배치 완벽가이드 2/e - 2장 스프링 배치 (0) 2022.01.12