다시 웹, 백엔드로/스프링

외부설정사용 - @ConfigurationProperties 생성자

EnoughTT 2023. 10. 22. 19:21

외부설정사용 - @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