Spring-Bootspringboot

SpringBoot参数校验-错误消息国际化

2019-12-11  本文已影响0人  Java及SpringBoot

个人专题目录


SpringBoot参数校验-错误消息国际化

整合hibernate-validator验证和Spring验证并使用Spring的国际化

Maven核心依赖

  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
      <version>${spring-boot.version}</version>
  </dependency>
  <!-- 该插件非常有用,可以在编译期检测出使用错误的检验注解并给予提示 -->
  <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator-annotation-processor</artifactId>
      <version>${hibernate-validator.version}</version>
      <scope>compile</scope>
  </dependency>
  <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>${hibernate-validator.version}</version>
  </dependency>

整合Spring核心配置

@Configuration
@Slf4j
public class WebMvcConfig implements WebMvcConfigurer {

    @Autowired
    private MessageSource messageSource;

    @Autowired
    private LocalValidatorFactoryBean localValidatorFactoryBean;

    @Override
    public Validator getValidator() {
        //该行代码即指定了使用Spring的国际化配置来配置Hibernate-Validator框架的国际化信息
        localValidatorFactoryBean.setValidationMessageSource(messageSource);
        //该行代码是给Hibernate-Validator框架设置一些参数,比如下面一行设置校验快速失败模式,关于什么是快速失败,我在这里不详细展开,不懂的同学google即可
        localValidatorFactoryBean.getValidationPropertyMap().put(HibernateValidatorConfiguration.FAIL_FAST, "true");
        return localValidatorFactoryBean;
        return localValidatorFactoryBean;
    }
}

错误提示的国际化配置

话不多说上配置代码,非常简单就一行代码就搞定(设置国际化文件的位置)

spring.messages.basename=i18n/messages

接下来怎么使用就不详细贴测试用例了,大家可自行google

上一篇下一篇

猜你喜欢

热点阅读