스프링 공식문서 가이드를 학습하며 작성한 글입니다.
틀린 내용이 있거나, 의견 등은 언제든지 댓글 달아주시면 감사하겠습니다.
사용 IDE : InteliJ IDE
사용 JDK : JAVA 8
1. @SpringBootApplication
스프링 부트 프로젝트의 실행 클래스(main)에는 @SpringBootApplication 어노테이션이 붙어있습니다.
해당 어노테이션은 스프링 부트를 시작할 때 필요한 것들을 자동으로 구성하고, Bean들을 생성하는 등
즉, 기본적인 설정들을 모두 포함하고 있는 어노테이션입니다.
크게 3가지 어노테이션이 포함되는데 구성은 아래와 같습니다.
- @EnableAutoConfiguration
- @ComponentScan
- @SpringBootConfiguration
저는 현재 Spring 레거시 프로젝트를 사용하여 개발하고 있는데, ComponentScan은 낯이 익네요 !
1. @EnableAutoConfiguration
SpringBoot 자동 설정 구성의 핵심 어노테이션
classpath 설정 및 @Configuration에 등록된 Bean들을 자동으로 찾아 스프링 컨테이너에 추가하라고 지시하는 어노테이션
2. @ComponentScan
기본값으로 설정 시 ROOT 패키지를 포함하여
하위 패키지들 내 @Component 어노테이션들을 스캔하여 스프링 컨테이너에 추가합니다.
대표적으로 @Configuration, @Component, @Controller, @Service, @Repository 등이 있습니다.
@Component 어노테이션을 스캔하여 추가하는데 위 어노테이션들은 왜 추가하는 걸까?
@Configuratioin을 예로 내부 구성을 확인하면 그 안에 @Component가 포함된 어노테이션이기 때문
3. @SpringBootConfiguration
SpringBoot의 설정을 나타내는 어노테이션
프로젝트 당 한 번만 사용할 수 있습니다.
스프링 레거시 프로젝트의 web.xml 파일을 대체하는 느낌을 받았습니다.
부트는 xml 파일을 사용하지 않아도 되는 순수 자바로 이루어져 있네요!
'Spring' 카테고리의 다른 글
[SpringBoot] H2 데이터베이스 PostgreSQL 모드로 변경하기 (0) | 2024.03.13 |
---|---|
[Springboot] 외부에서 로컬 서버 접속하기 (0) | 2024.03.12 |
Mybatis cannot change the executortype when there is an existing transaction (2) | 2024.03.07 |
[SpringBoot] 스프링부트 - 서버 포트번호 변경하기 (0) | 2021.08.19 |
[SpringBoot] 스프링부트 시작하기 - 프로젝트 생성 및 실행 (0) | 2021.08.16 |
댓글