Back End/Spring Boot

SpringBoot의 세가지 Annotation(@SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration)

DevHam94 2024. 6. 24. 10:16

아래는 SpringBootApplication.java 파일이다. 

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration // 스프링 부트 관련 설정
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM,
	// 사용자가 등록한 빈을 읽고 등록
    classes = TypeExcludeFilter.class),
    @Filter(type = FilterType.CUSTOM,
    classes = AutoConfigurationExcludeFilter.class)
})
@EnableAutoConfiguration	// 자동으로 등록된 빈을 읽고 등록
public @interface SpringBootApplication {
... 생략 ...
}

 

@SpringBootConfiguration, @ComponentScan, @EnableAutoConfiguration 

이 세가지 annotation은 스프링 부트의 특징을 나타내는 애노테이션들이다. 

 

 

@SpringBootConfiguration

스프링 부트에 관련된 설정을 나타내는 annotation이다. 

 

@ComponentScan

이 annotation은 @Component를 가진 클래스들을 빈으로 등록하는 역할을 한다.

아래의 애노테이션들은 내부에 @Component를 포함하고있어 용도에 따라 사용한다. 

@Configuration - 설정 파일 등록

@Repository - ORM 매핑

@Controller, @RestController - 라우터 (HTTP 요청과 메서드를 연결하는 장치) 

@Service - 비즈니스 로직 

 

@EnableAutoConfiguration

자동 구성을 활성화하는 annotation. 서버가 실행되면서 meta 파일들을 읽어들이고 정의된 설정들을 자동으로 구성하는 역할을 한다. 

 

 

 

'Back End > Spring Boot' 카테고리의 다른 글

테스트 코드 개념  (0) 2024.07.09
Spring Boot 구조  (0) 2024.06.24
Querydsl 조회  (0) 2024.04.15
JPQL 검색조건  (0) 2024.04.15
Querydsl dependency 추가방법  (0) 2024.04.09