问题:
使用springboot自定义国际化文件存放路径时不生效;
springboot 版本说明:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
不生效方式:
在application配置文件中设置spring.message.basename=i18n.message
生效的方式:
在@Configuration的配置文件中使用如下代码:
/**
* 自定义国际化文件存放路径
* @return
*/
@Bean
public Validator getValidator() {
Validator validator = Validation.byDefaultProvider().
configure().
messageInterpolator(new ResourceBundleMessageInterpolator(new PlatformResourceBundleLocator("i18n/message"))).
buildValidatorFactory().getValidator();
return validator;
}
其中:new PlatformResourceBundleLocator(“i18n/message”) 表示指定设置国际化文件的路径,从classpath路径下开始;并且注意的是,"message"是国际化文件的文件名的头;如图: