일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- spring framework
- AOP
- pointcut
- 리눅스
- @test
- Dependency Injection
- java spring
- @AspectJ
- 컨테이너
- @JUnit
- JDBC TEMPLATE
- JdbcTemplate
- spring
- Ubunt
- Spring Boot
- XML
- Linux
- SpringJDBC
- 프로퍼티
- Di
- myBatis
- Spring JDBC
- java
- @Spring-Test
- POJO
- STS
- unix
- 마이바티스
- Framework
- spring aop
Archives
- Today
- Total
개키우는개발자 : )
자동 구성에 Environment 프로퍼티 적용 본문
토비의 스프링 부트 - 이해와 원리/섹션9 - 외부 설정을 이용한 자동 구성
자동 구성에 Environment 프로퍼티 적용
DOGvelopers 2024. 10. 13. 15:04반응형
요약 및 핵심 개념
스프링의 Environment
추상화를 활용하여 외부 프로퍼티 설정과 우선순위 처리 방식을 테스트하는 방법을 소개했습니다. 이를 통해 스프링 부트 애플리케이션의 초기화 후 작업 실행 방법과 프로퍼티 관리의 우선순위 처리에 대해 이해할 수 있습니다.
핵심 내용
스프링의
Environment
를 통한 프로퍼티 읽기:Environment
추상화는 다양한 소스에서 프로퍼티 값을 읽어오는 메커니즘을 제공합니다.- 프로퍼티 소스는
application.properties
, 환경 변수, 시스템 프로퍼티 등이 있으며, 이를 활용해 프로퍼티 값을 쉽게 설정하고 수정할 수 있습니다.
우선순위 적용:
- 우선순위는 시스템 프로퍼티 > 환경 변수 >
application.properties
순으로 적용됩니다. 각 소스에서 지정된 프로퍼티 값은 가장 높은 우선순위에 따라 결정됩니다. - 예를 들어, 시스템 프로퍼티에 설정된 값이 있으면 그 값이 우선 적용됩니다.
- 우선순위는 시스템 프로퍼티 > 환경 변수 >
스프링 부트 초기화 후 코드 실행 (
ApplicationRunner
):ApplicationRunner
인터페이스를 활용하면 스프링 부트의 초기화가 완료된 후 코드 실행이 가능합니다. 이를 통해 스프링 부트 애플리케이션이 실행된 후 추가적인 작업을 자동으로 수행할 수 있습니다.- 이를 구현하여 프로퍼티 값을 가져와서 설정하거나 애플리케이션 실행 후 특정 작업을 수행할 수 있습니다.
프로퍼티를 통한 자동 구성 설정:
- 프로퍼티 값을 읽어와서 자동 구성된 빈 설정 변경이 가능합니다. 예를 들어, Tomcat의 context-path를 외부 프로퍼티로부터 설정하여 애플리케이션 URL 패스를 쉽게 변경할 수 있습니다.
- 이처럼 자동 구성된 빈의 여러 속성들을 외부 프로퍼티를 통해 설정하여 효율적으로 관리할 수 있습니다.
컨텍스트 경로 변경 예시:
- Tomcat의
context-path
설정을 예로 들어 외부 프로퍼티 파일에서 값을 설정하고, 이를 통해 URL 경로를 변경하는 방법을 설명했습니다. - 이를 통해 애플리케이션의 각종 설정 값을 외부에서 관리하고 조정할 수 있습니다.
- Tomcat의
결론
스프링 부트의 Environment
를 활용한 외부 프로퍼티 설정 및 우선순위 처리를 실습했습니다. 이를 통해 자동 구성된 빈의 설정을 외부 프로퍼티로 관리할 수 있으며, 프로퍼티 우선순위 처리와 애플리케이션 초기화 후 작업 실행 방법을 배웠습니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션9 - 외부 설정을 이용한 자동 구성' 카테고리의 다른 글
프로퍼티 빈의 후처리기 도입 (0) | 2024.10.13 |
---|---|
프로퍼티 클래스의 분리 (0) | 2024.10.13 |
@Value와 PropertySourcesPlaceholderConfigurer (0) | 2024.10.13 |
Environment 추상화와 프로퍼티 (0) | 2024.10.13 |
Comments