Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 의존성관리
- mybatis
- HashMap
- 프로젝트 구조
- vuejs #vue #js #프론트엔드 #nodejs #클라이언트사이드 #템플릿엔진
- java
- @Scheduled
- 스프링 부트
- 스프링
- Spring
- Spring Boot
- 스프링 스케줄러
- 스프링 메일
- GOF
- thymeleaf
- Spring Mail
- Dependency
- spring scheduler
- Arrays
- pair
- maven
- 스프링부트
- springboot
- Collections
- C++
- 프로그래머스
- list
- 코딩테스트
- codility
- pom.xml
Archives
- Today
- Total
Rooted In Develop
Spring Boot 원리 : 자동 설정(Auto Configuration) 본문
이 글은 인프런의 백기선님의 강좌를 수강하며 정리한 글입니다.
Spring Boot의 자동 설정 기능에 대해 알아보자.
1. @SpringBootApplication
먼저 프로젝트를 생성한 후 기본 패키지 아래 *Application.java의 @SpringBootApplication을 확인한다.
@SpringBootApplication의 세부코드로 들어가면 아래의 애노테이션이 선언되어 있다.
- @ComponentScan
- @EnableAutoConfiguration
2. @ComponentScan
- @Component
- @Configuration @Repository @Service @Controller @RestController
@ComponentScan은 선언된 패키지를 포함한 하위 패키지의 Component를 Scan하여 Bean으로 등록한다.
그렇기 때문에 기본 설정에서는 기본 패키지 하위로 패키지를 생성하여야 Bean으로 등록된다.(중요!)
기본 패키지가 me.rooted.boot일 때 me.rooted.boot.* 의 Bean은 등록이 되지만, me.rooted.legacy.* 의 Bean은 등록되지 않는다.
3. @EnableAutoConfiguration
Dependency 목록에서 spring-boot-autoconfigure-2.1.7.RELEASE.jar에 META-INF/spring.factories 파일이 있다.
파일을 열어보면, #Auto Configure 밑에 해당하는 패키지들의 AutoConfiguration이 선언되어 있다.
그리고 jar파일 밑에 선언된 패키지의 클래스들로부터 설정값을 Bean으로 등록한다.
이로 인해 자동 설정이 가능한 것이다.
'Back End > Spring Boot' 카테고리의 다른 글
스프링 부트 스케줄러 @Scheduled 어노테이션 사용법(@Scheduled Annotation) (0) | 2020.04.22 |
---|---|
Spring Boot 프로젝트 구조 (0) | 2019.12.27 |
Spring Boot 원리 : 의존성(Dependency) 관리 (0) | 2019.09.02 |
간단한 스프링 스케줄러(Spring Scheduler) 사용하기 : @Scheduled Annotation (0) | 2019.08.19 |
Spring Boot 메일 전송 : Spring Boot 2, Mail, Thymeleaf (2) | 2019.08.19 |
Comments