Spring 从hibernate验证重写默认ValidationMessages.properties
我试图覆盖SpringMVC应用程序中默认hibernate验证(5.0.2版本)的ValidationMessages.properties 但它一直使用jar中的内部ValidationMessages.properties 更新:当我将*.properties文件复制到org\hibernate\validator时,它可以工作(但应该是另一种方式) 这是我的配置:Spring 从hibernate验证重写默认ValidationMessages.properties,spring,bean-validation,hibernate-validator,spring-validator,Spring,Bean Validation,Hibernate Validator,Spring Validator,我试图覆盖SpringMVC应用程序中默认hibernate验证(5.0.2版本)的ValidationMessages.properties 但它一直使用jar中的内部ValidationMessages.properties 更新:当我将*.properties文件复制到org\hibernate\validator时,它可以工作(但应该是另一种方式) 这是我的配置: @Configuration @EnableWebMvc @ComponentScan(basePackages = {"c
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.blueliv.search.*"} )
public class WebConfig extends WebMvcConfigurerAdapter {
static Logger log =LoggerFactory.getLogger(WebMvcConfigurerAdapter.class);
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new GsonHttpMessageConverter());
//converters.add(new MappingJackson2HttpMessageConverter());
}
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}
@Bean
public ExceptionHandlerExceptionResolver exceptionResolver() {
return new ExceptionHandlerExceptionResolver();
}
@Bean
public LocalValidatorFactoryBean validator() {
LocalValidatorFactoryBean validatorFactoryBean = new LocalValidatorFactoryBean();
validatorFactoryBean.setValidationMessageSource(getBundle());
return validatorFactoryBean;
}
public ReloadableResourceBundleMessageSource getBundle(){
log.debug("get bundle!");
ReloadableResourceBundleMessageSource bundle = new ReloadableResourceBundleMessageSource();
bundle.setBasenames("classpath:/i18n/validation/ValidatonMessages");
return bundle;
}
@Override
public Validator getValidator() {
return validator();
}
@配置
@EnableWebMvc
@ComponentScan(basePackages={“com.blueliv.search.*})
公共类WebConfig扩展了WebMVCConfigureAdapter{
静态记录器log=LoggerFactory.getLogger(WebMVCConfigureAdapter.class);
@凌驾
公共无效配置MessageConverters(列表您尝试将自定义ValidationMessages.properties放在何处?如果它位于类路径的根目录中,则它应该优先于Hibernate Validator内置的验证程序。当然,您的编程方式也可以,但应该不是必需的。我尝试将自定义ValidationMessages.properties直接放在/classes/ValidationMessages.properties中,但运气不佳。只有wor当我把org\hibernate\validator…覆盖依赖项jar中的那些。它是一个web应用程序吗?你能概述一下你的整个应用程序结构吗。顺便问一下,你对依赖项jar是什么意思?