본문 바로가기
Spring

Spring Boot 자동 환경설정 Annotation

by 꽃도련 2022. 5. 11.

@SpringBootApplication : 복잡한 환경설정 없이도 웹 애플리케이션을 만들고 실행시켜주는 어노테이션. 

 

@ComponentScan : @Configuration, @Repository, @Service, @Controller, @RestController가 붙은 객체를 메모리에 올리는 역할을 한다. excludeFilters에 해당하는 클래스를 제외하고 나머지 객체들을 스캔해서 초기화하도록 설정. 생성된 컨트롤러 객체를 메모리에 올리는 작업

 

@EnableAutoConfiguration : 자동설정과 관련된 어노테이션. 스프링부트는 스프링 컨테이너를 구동시 두단계로 나누어 객체를 생성함. 스프링부트의 meta 파일(spring.factories)을 읽어서 미리 정의된 자바 설정 파일(@Configuration)들을 빈으로 등록하는 역할.

@SpringBootConfiguration = @Configuration : 환경설정 빈 클래스를 표현하기 위해 사용되는 어노테이션.

 

@ConditionalOnWebApplication(type = Type.SERVLET) : 웹 어플리케이션 타입이 어떻게 설정되어 있느냐를 확인하는 어노테이션. 

 

@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class }) : 특정 클래스가 클래스 패스에 존재할 때, 현재 설정 클래스를 적용겠다는 어노테이션.

 

@ConditionalOnMissingBean(WebMvcConfigurationSupport.class) : 특정 클래스 객체가 메모리에 없을때 현재 설정 클래스를 적용하겠다는 어노테이션.

 

@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10) : 자동 설정 클래스들으 우선순위를 지정할때 사용. 현재 가장 높은 우선순위 + 단계

 

@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class, ValidationAutoConfiguration.class }) : 현재의 자동설정 클래스가 다른 자동설정 클래스 다음에 적용되도록 지정

 

 

 

* 참고자료

- https://mkil.tistory.com/456

 

Spring Boot Annotation 정리

어노테이션은 이름만 봐도 얼추 기능에 대한 설명이 유추된다지만 그렇지 않은 어노테이션도 있고..해서 Spring Boot 스터디를 하게 된 김에 어노테이션도 정리해본다 :) SpringBoot에서 사용하는 어

mkil.tistory.com

 

- https://wiper2019.tistory.com/207

 

[SpringBoot] 스프링부트 자동설정

스프링 부트 스타터 스프링 부트를 구성하는 핵심요소 3가지 : 스타터, 자동설정, 액추에이터 스타터(starter) : 스프링이 제공하는 특정 모듈을 사용할 수 있도록 관련된 라이브러리 의존성을 해

wiper2019.tistory.com

 

'Spring' 카테고리의 다른 글

Gradle 라이브러리 의존성 설정  (0) 2022.05.24
Gradle vs Maven  (0) 2022.05.11