[Spring] Spring boot 3 코드 이해하기

yoon·2024년 1월 10일

spring-boot

목록 보기
28/41
post-thumbnail

✅ spring boot starter

스프링을 더 빠르고 쉽게 사용하기 위한 도구로써 스타터를 제공한다.

  • spring-boot-starter-web : Spring MVC 사용 RESTful 웹 서비스 개발
  • spring-boot-starter-test : 테스트
  • spring-boot-starter-validation : 유효성 검사
  • spring-boot-starter-actuator : 모니터링
  • spring-boot-starter-data-jpa : JPA사용

✅ @SpringBootApplication

아래 클래스는 자바의 main() 메서드와 같은 역할을 한다.

@SpringBootApplication
public class SpringBootDeveloperApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootDeveloperApplication.class, args);
    }
}

@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) })
public @interface SpringBootApplication {
...}

여기서 주의 깊게 봐야하는 부분은 다음과 같다
1. @SpringBootConfiguration : 스프링 부트 관련 설정을 나타냄
2. @EnableAutoConfiguration : 스프링 부트 자동 구성 활성화 > 메타파일 읽고 설정 자동 구성
3. @ComponentScan : 사용자가 등록한 빈을 읽고 등록

✅ @Component

이 어노테이션이 있는 클래스는 bean으로 등록된다.

profile
하루하루 차근차근🌱

0개의 댓글