美文网首页Spring-Bootspringboot
SpringBoot参数校验-错误消息国际化

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

作者: Java及SpringBoot | 来源:发表于2019-12-11 13:43 被阅读0次

    个人专题目录


    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

    相关文章

      网友评论

        本文标题:SpringBoot参数校验-错误消息国际化

        本文链接:https://www.haomeiwen.com/subject/qtmogctx.html