외부설정사용 - @ConfigurationProperties 생성자
@ConfigurationProperties는 생성자를 통해서 객체를 만드는 기능을 지원
- 생성자를 만들어 두면 생성자를 통해서 설정 정보를 주입함
- @Getter 가 자동으로 getter를 만들어줌
- @DefaultValue: 해당 값을 찾을 수 없는 경우 기본값을 사용
- etc를 찾을 수 없는 경우: Etc 객체를 생성하고 내부에 들어가는 값을 비워둠 (null, 0)
- option 을 찾을 수 없는 경우: DEFAULT라는 이름의 값을 사용
실행 결과
application.properties 에 필요한 외부 설정을 추가하고, @ConfigurationProperties 의 생성자 주입을 통해서 값을 읽어들임, Setter 가 없으므로 개발자가 중간에 실수로 값을 변경하는 문제가 발생하지 않음
max-connection의 값을 최소 1이상으로 설정하면 커넥션이 하나도 만들어지지 않는 심각한 문제가 발생한다 가정했을 때, 로딩 시점에 예외를 발생시켜서 빠르게 문제를 인지 할 수 있도록 할 수 있음
feat. 스프링부트 - 핵심 원리와 활용 (김영한)
'다시 웹, 백엔드로 > 스프링' 카테고리의 다른 글
YAML / @Profile (0) | 2023.11.21 |
---|---|
@ConfigurationProperties 검증 (0) | 2023.10.30 |
외부 설정 사용 - @ConfigurationProperties (0) | 2023.09.12 |
외부 설정 사용 - @Value (0) | 2023.09.12 |
외부설정 사용 - 1 (0) | 2023.09.07 |