아래는 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 |