반응형
AutoConfiguration 이란 스프링이 아닌 스프링부트를 사용하는 이유 중 하나이다.
먼저 그러기 위해서는 스프링 부트 프레임워크를 새롭게 시작을 해봐야한다.
스프링 부트의 시작을 하기 위해서는 IDE에서도 가능하지만 파일로 만드려면 위 사이트를 참고 바란다.
생성을 하게 되면 가장 최상단에 프로젝트 이름 + Application.java 파일이 생길 것이다.
구성은 아래와 같다.
@SpringBootApplication public class TestProjectApplication { public static void main(String[] args) { SpringApplication.run(TestProjectApplication.class, args); } } |
기본 구성이며 이 main 함수가 실행 되면서 springboot가 기동이 된다.
여기서 이 @SpringBootApplication 은 자동으로 생성되는데 따라 들어가보면 다음을 포함한다.
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) |
이중 아랫것들을 위주로 살펴보면 (나머지 annotation은 참고 포스팅 참고)
- @SpringBootConfiguration
- @ComponentScan
- @Component라는 어노테이션을 붙인 클래스들을 찾아서 Bean으로 등록
- 자세한 사항은 참고 포스팅 참고
- @EnableAutoConfiguration
- Spring Boot Dependency jar 파일 내에 META-INF 폴더에 spring.factories 파일을 열면 자동 설정 목록을 확인 할 수 있다. 여기의 조건들이 자동 설정 조건에 포함된다.
참고 포스팅
https://thenicesj.tistory.com/82
https://thenicesj.tistory.com/584
https://thenicesj.tistory.com/659
반응형
'IT > Java' 카테고리의 다른 글
JSch 관련 (java 에서 ftp 사용) (64) | 2023.09.14 |
---|---|
SpringBoot 인터셉터(Interceptor) 란? (58) | 2023.09.05 |
spring -> springboot 로 프로젝트 변경 (47) | 2023.08.30 |
[Java] ASCII 문자 숫자 변환 코드 (50) | 2023.08.29 |
Statement / preparedStatement 차이 (53) | 2023.08.28 |
댓글