[SPRING] Spring application.properties 파일에서 표현식 사용하기
SPRINGSpring application.properties 파일에서 표현식 사용하기
표현식을 Spring application.properties 파일의 오른쪽 값으로 사용할 수 있습니까?
예를 들면 다음과 같습니다.
logging.level.com.acme=#{'${MY_RUN_ENV}'=='PROD'?'WARN':'DEBUG'}
즉, 작동하지 않습니다. 하지만, 내가 의도 한 것과 비슷한 것을 할 수 있는지 궁금 하네.
해결법
-
==============================
1.아니요, 속성 파일에서 SpEL을 사용할 수 없습니다.
아니요, 속성 파일에서 SpEL을 사용할 수 없습니다.
그러나 속성 파일 내에서 자리 표시자를 사용할 수 있습니다 (예 :
app.name=MyApp app.description=${app.name} is a Spring Boot application
유스 케이스의 경우 프로필 별 구성 메커니즘을 살펴 봐야합니다.
환경 프로파일을 기반으로 다른 구성을로드 할 수 있습니다.
-
==============================
2.이것은 가능하지 않습니다. 봄 부팅 참조에서 :
이것은 가능하지 않습니다. 봄 부팅 참조에서 :
대신 프로덕션 환경에서 응용 프로그램 default.properties를 가질 수 있으며 loglevel = WARN을 정의 할 수 있습니다. 그리고 application.properties에서 :
loglevel=DEBUG logging.level.com.acme=${loglevel}
프로필 별 속성 파일 (기본적으로 -default)은 application.properties의 속성 (여기에서 자세한 내용)을 재정의해야합니다.
-
==============================
3.프로파일 기반 특성 파일을 사용하십시오.
프로파일 기반 특성 파일을 사용하십시오.
application-dev.properties에서 다음을 수행하십시오. logging.level.com.acme = WARN
그리고 application-prod.properties : logging.level.com.acme = DEBUG
FYI 봄 부팅이 프로필 기반 파일에서 속성을 찾지 못하면 기본값의 값을 사용합니다. 따라서 application.properties에 속성을 설정하고 값이 변경되면 프로필 기반 파일에서이를 재정의 할 수 있습니다.
from https://stackoverflow.com/questions/45704466/using-expressions-in-spring-application-properties-file by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Redis를 사용할 때 JedisConnection에 NoClassDefFound 오류가 나타나는 이유는 무엇입니까? (0) | 2019.07.18 |
---|---|
[SPRING] 스프링 MVC : @RequestBody VS @ModelAttribute (0) | 2019.07.18 |
[SPRING] 스프링 부트 2 다중 데이터 소스가 스키마 초기화 (0) | 2019.07.18 |
[SPRING] Spring MVC - HTTP Status 500 - Servlet loginDispacher에 대한 Servlet.init ()가 예외를 던졌습니다. (0) | 2019.07.18 |
[SPRING] 스프링 부트에서 스프링 보안 기본 설정을 오버라이드하는 법 (0) | 2019.07.18 |