[SPRING] 스프링 부트 yml ResourceBundle 파일
SPRING스프링 부트 yml ResourceBundle 파일
Spring의 MessageSource를 사용하여 classpath의 .properties 파일에서 오류 메시지를로드합니다. 내 속성은 {Object}. {field}와 같은 특정 "템플릿"을 존중합니다. {unrespectedConstraint} 예 :
userRegistrationDto.password.Size= Le mot de passe doit avoir au minimum 6 caractères.
userRegistrationDto.email.ValidEmail= Merci de saisir une addresse mail valide.
리팩토링 (예 : 클래스 이름 변경)의 경우 여러 위치에서 속성 파일을 변경해야합니다.
yaml 파일 (messages.yml)을 ResourceBundle로 사용하여 다음과 같은 것을 얻을 수있는 방법이 있습니까 :
userRegistrationDto:
password:
Size: Le mot de passe doit avoir au minimum 6 caractères.
email:
ValidEmail: Merci de saisir une addresse mail valide.
해결법
-
==============================
1.가장 좋은 해결책은 @vtosh가 발견하기 전에 발견했습니다.이 라이브러리를 사용하는 것입니다. 유일한 문제 (그러나 여전히)는 충분히 인기가 없다는 것입니다.
가장 좋은 해결책은 @vtosh가 발견하기 전에 발견했습니다.이 라이브러리를 사용하는 것입니다. 유일한 문제 (그러나 여전히)는 충분히 인기가 없다는 것입니다.
다른 옵션은 수동으로 ResourceBundle.Control 클래스를 확장하여 Java 지역화 지원을 확장하는 것입니다 (공식 예제는 여기에서 찾을 수 있습니다). 발견 된 라이브러리가이 방법을 사용하기 때문에 나는 그다지 이해할 수 없다.
스프링을위한 해결책이없는 이유는 무엇입니까? 자,이 jira에서 찾을 수있는 대답입니다. 아직 Open 상태이므로 적어도 현재는 그들의 측면에서 어떤 해결책도 될 것으로 기대하지 않습니다.
-
==============================
2.난 당신이 VM을 작업하는 동안 다시로드 할 수있는 메시지 소스가 필요하면 이것이 당신의 요구 사항에 충분해야한다고 생각, 좀 더 파고해야 할 수도 있습니다.
난 당신이 VM을 작업하는 동안 다시로드 할 수있는 메시지 소스가 필요하면 이것이 당신의 요구 사항에 충분해야한다고 생각, 좀 더 파고해야 할 수도 있습니다.
@Configuration public class TestConfig { @Bean(name = "testProperties") public Properties yamlProperties() throws IOException { YamlPropertiesFactoryBean bean = new YamlPropertiesFactoryBean(); bean.setResources(new ClassPathResource("test.yml")); return bean.getObject(); } @Bean public MessageSource messageSource() throws IOException { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setCommonMessages(yamlProperties()); return messageSource; } }
from https://stackoverflow.com/questions/43655895/spring-boot-yml-resourcebundle-file by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 다이나믹 모듈 - 살아있는 프로젝트입니까? (0) | 2019.04.18 |
---|---|
[SPRING] 하나의 속성에 매핑되지 않은 최대 절전 모드의 referencedColumnNames (0) | 2019.04.18 |
[SPRING] 나머지 템플릿을 사용하여 클라이언트에 TLS1.2 적용 방법 (0) | 2019.04.18 |
[SPRING] 이전 버전의 Maven 종속성을 제외하고 새 버전을 사용하는 방법 (0) | 2019.04.18 |
[SPRING] Ldap 연결을위한 Spring 보안 설정 (0) | 2019.04.18 |