@ConfigurationProperties 검증
최대 커넥션 숫자는 최소 1 최대 999라는 범위를 가져야 한다면 검증을 어떻게 할 수 있을까?
자바에는 자바 빈 검증기 (java bean validation) 이라는 표준 검증기가 제공됨
자바 빈 검증기를 사용하려면 spring-boot-starter-validation 이 필요함
- @NotEmpty 어노테이션: 항상 값이 있어야 함
- @Min(1) @Max(999) 어노테이션: 최소 1, 최대 999의 값을 허용
- @DurationMin(seconds = 1) @DurationMin(seconds = 60) 어노테이션: 최소 1, 최대 60초를 허용
MyDataSourceConfigV3 생성 및 ExternalReadApplication.java 수정
maxConnection=0 으로 설정할 경우
정상 실행
ConfigurationProperties 덕분에 타입 안전하고, 매우 편리하게 외부 설정을 사용할 수 있음 또한, 검증도 할 수 있음
가장 좋은 예외는 컴파일 예외, 애플리케이션 로딩 시점에 발생하는 예외임
- 장점
- 외부 설정을 객체로 편리하게 변환해서 사용할 수 있음
- 객체로 편리하게 표현 할 수 있음
- 외부 설정을 타입 안전하게 사용할 수 있음
- 검증할 수 있음
feat. 스프링부트 - 핵심 원리와 활용 (김영한)
'다시 웹, 백엔드로 > 스프링' 카테고리의 다른 글
액츄에이터 (1) | 2023.11.21 |
---|---|
YAML / @Profile (0) | 2023.11.21 |
외부설정사용 - @ConfigurationProperties 생성자 (1) | 2023.10.22 |
외부 설정 사용 - @ConfigurationProperties (0) | 2023.09.12 |
외부 설정 사용 - @Value (0) | 2023.09.12 |