2016-11-04 4 views
0

스프링 부트 응용 프로그램에서 일종의 속성 검증을하고 싶습니다. 내 응용 프로그램을 시작할 때Application.properties validator

log.path= 
logging.config=${log.path}log4j2.properties 

내가 메시지가 누락 된 모든 속성에 대한 정보가 될 것입니다있는 모든 빈 속성과 던져 예외를 찾으려면 내 application.properties에서 나는 이런 식으로 뭔가가있다. 봄이 그런 종류의 메커니즘을 제공합니까?

답변

0

빈을 만들고 @ConfigurationProperties annotation을 추가하여 application.properties에서 빈의 필드에 속성을 바인딩 할 수 있습니다. 심지어 use JSR-303 validators like @NotNull and @NotEmpty for automatic validation 수 있습니다.

속성이 너무 많아서 이러한 속성 각각에 대해 필드를 만들지 않으려면 application.properties 파일을 직접 열고 구문 분석해야합니다. (그러나 응용 프로그램에서 이러한 모든 속성을 사용하는 경우 단일 위치에서 유효성을 검사하기 위해 bean을 만들지 마십시오.)

+0

이동 방법은 있지만 슬픈 듯이 명시 적으로 작성해야합니다. 어쩌면 모든 속성에 iterator가있을 수 있으며 거기에 하나의 빈 속성이있을 때 throw 된 Exception이있을 것입니까? 예를 들어 logger가 log4j2 경로를 찾으려고하거나 데이터베이스가 연결을 시도하기 전에이 작업을 수행해야합니다. 바로 전에 빈 속성의 목록을 만들고 예외에 쓰고 명시 적으로 클래스에 쓰지 않으려 고합니다. – Kapitalny