Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- fastapi
- Machine Learning
- 로깅
- 머신러닝
- 컨설턴트
- 도커
- vue.js
- POD
- 생성형
- 쿠버네티스
- GPT
- LeetCode
- 메세지큐
- kubernetes
- 리트코드
- BFS
- LLaMa
- 오픈시프트
- k8s
- 생성형 AI
- 솔루션조사
- SpringBoot
- Python
- jpa
- Docker
- 컨설팅
- Redis
- OpenShift
- vuejs
- fast api
Archives
- Today
- Total
수 많은 우문은 현답을 만든다
설정파일 불러오기 @Value @ConfigurationProperties 본문
안녕하세요, 조영호입니다.
Spring에서는 공통 설정이나 숨겨야하는 내용들을 properties 또는 yml 파일에 적어놓고 그 값들을 호출해서 애플리케이션에서 사용합니다. 오늘은 이 설정값들을 불러오는 두 방법에 대해서 알아보겠습니다.
1. @Value 어노테이션
@Value("${api.url}")
private String url;
2. @ConfigurationProperties 어노테이션
@Component
@ConfigurationProperties(prefix = "api")
@Data
public class urlManager{
private String url;
}
3. @Value vs @ConfigurationProperties 비교
한 두가지의 간단한 설정을 가져올때는 @Value 방식을 씁니다.
하지만 가져와야할 내용이 많고 좀 더 객체 지향적으로 설정 값들을 관리하고 싶다면 @ConfigurationProperties를 씁니다.
4. @ConfigurationProperties 사용방법
- application.yml 파일은 아래와같이 작성하면 됩니다(prefix는 최상위 값을 따라갑니다)
url:
api: http://url.com
method: post - Dependency 설정이 필요합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency> - 다양한 표기법을 바인딩 해줍니다.
api.test-program.url | .properties / .yml 권장 표기법 |
api.testProgram.url | 카멜 케이스 |
api.test_program.url | .properties / .yml 사용가능한 표기법 |
API_TEST_PROGRAM_URL | 시스템 환경 변수 |
- SpEL(Spring Expression Language) 은 사용할 수 없다.
@Value("#{1 + 1}")
int onePlusOne; //2 -> @Value에서만 사용 가능하다.
즐거운 코딩되세요.
감사합니다.
참고
- https://programmer93.tistory.com/47
- https://velog.io/@probsno/SpELSpring-Expression-Language%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EC%95%84%EB%9D%BC%EB%B3%B4%EC%9E%90
'개발지식 > Springboot' 카테고리의 다른 글
@Transactional 과 DB Connection 반환 이슈 (0) | 2023.06.14 |
---|---|
한글이 깨질때 (0) | 2022.07.27 |
세마포어(Semaphore) (0) | 2022.07.13 |
FK 를 쓰지 않는 이유 (0) | 2022.03.21 |
예외처리에 대한 고찰 - 3편 (성능 개선) (0) | 2022.03.09 |