일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Ubunt
- java spring
- pointcut
- spring framework
- XML
- Dependency Injection
- Framework
- 마이바티스
- 프로퍼티
- 컨테이너
- unix
- AOP
- @JUnit
- spring aop
- JdbcTemplate
- @test
- 리눅스
- Linux
- @Spring-Test
- myBatis
- Spring Boot
- @AspectJ
- Spring JDBC
- JDBC TEMPLATE
- STS
- java
- Di
- spring
- SpringJDBC
- POJO
Archives
- Today
- Total
개키우는개발자 : )
인프라 빈 구성 정보의 분리 본문
반응형
요약 및 핵심 개념
스프링 부트의 자동 구성(Auto-Configuration)을 설정하고 적용하는 방법에 대해 다뤘습니다. 이를 통해 스프링 부트 애플리케이션의 구성 정보와 빈 설정을 좀 더 유연하게 관리할 수 있는 방식을 학습했습니다.
핵심 내용
컴포넌트 스캔과 구성 정보 관리:
- 컴포넌트 스캔을 통해 패키지 내의 빈을 자동으로 등록할 수 있지만, 특정 구성 정보(예:
TomcatWebServer
나DispatcherServlet
과 같은 빈)는 스캔 대상에서 제외해야 할 때가 있음. - 컴포넌트 스캔 대상에서 제외된 클래스를 등록하기 위해
@Import
애노테이션을 사용해 구성 정보에 추가할 수 있음.
- 컴포넌트 스캔을 통해 패키지 내의 빈을 자동으로 등록할 수 있지만, 특정 구성 정보(예:
자동 구성 클래스 분리:
- 자동 구성을 위해 설정 클래스를 분리하고, 개별적인 Configuration 클래스를 생성해 관리. 예를 들어,
TomcatWebServerConfig
와DispatcherServletConfig
클래스를 따로 만들어 설정. - 여러 설정 클래스가 늘어날 때,
@Enable
애노테이션을 사용해 자동 구성 설정을 그룹화하고 이를 메타 애노테이션으로 활용해 설정을 간소화할 수 있음.
- 자동 구성을 위해 설정 클래스를 분리하고, 개별적인 Configuration 클래스를 생성해 관리. 예를 들어,
@EnableMyAutoConfiguration
애노테이션의 활용:@EnableMyAutoConfiguration
애노테이션을 새롭게 정의해, 여러Configuration
클래스를 한 번에 등록할 수 있도록 함.- 이를 통해 애플리케이션의 주 구성 애노테이션을 간소화하고, 필요 시 자동 구성의 내용을
EnableMyAutoConfiguration
에 위임.
자동 구성의 구조 정리:
- MySpringBootApplication 애노테이션은 최소한의 정보(
EnableMyAutoConfiguration
)만을 노출하도록 하고, 세부적인 자동 구성 설정은EnableMyAutoConfiguration
이 담당. - 이를 통해 코드의 가독성을 높이고 설정을 체계적으로 관리할 수 있음.
- MySpringBootApplication 애노테이션은 최소한의 정보(
결론
스프링 부트의 자동 구성을 통해 애플리케이션의 구성 정보를 동적으로 관리하는 방법을 배웠습니다. 다음 강의에서는 외부 설정 파일을 활용해 자동 구성 클래스를 동적으로 추가하는 방법에 대해 다룰 예정입니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션7 - 자동 구성 기반 애플리케이션' 카테고리의 다른 글
자동 구성 정보 파일 분리 (0) | 2024.10.09 |
---|---|
동적인 자동 구성 정보 등록 (0) | 2024.10.09 |
빈 오브젝트의 역할과 구분 (0) | 2024.10.09 |
합성 애노테이션의 적용 (0) | 2024.10.09 |
메타 애노테이션과 합성 애노테이션 (0) | 2024.10.09 |
Comments