zoukankan      html  css  js  c++  java
  • Spring Boot的特性: @ConfigurationProperties校验

    [

    24.7.4. @ConfigurationProperties校验

    Spring Boot将尝试校验外部配置,默认使用JSR-303(如果在classpath路径中),你只需要将JSR-303 javax.validation约束注解添加到@ConfigurationProperties类上:

    @ConfigurationProperties(prefix="connection")
    publicclassConnectionProperties{
    
        @NotNullprivate InetAddress remoteAddress;
    
        // ... getters and setters
    
    }
    

    为了校验内嵌属性的值,你需要使用@Valid注解关联的字段以触发它的校验,例如:

    @ConfigurationProperties(prefix="connection")
    publicclassConnectionProperties{
    
        @NotNull@Validprivate RemoteAddress remoteAddress;
    
        // ... getters and setterspublicstaticclassRemoteAddress{
    
            @NotEmptypublic String hostname;
    
            // ... getters and setters
    
        }
    
    }
    

    你也可以通过创建一个叫做configurationPropertiesValidator的bean来添加自定义的Spring Validator。@Bean方法需要声明为static,因为配置属性校验器在应用程序生命周期中创建的比较早,将@Bean方法声明为static允许该bean在创建时不需要实例化@Configuration类,从而避免了早期实例化(early instantiation)的所有问题。

    注spring-boot-actuator模块包含一个暴露所有@ConfigurationProperties beans的端点(endpoint),通过浏览器打开/configprops进行浏览,或使用等效的JMX端点。

    本文来自:Spring Boot的特性: @ConfigurationProperties校验
    ]
    转载请保留页面地址:https://www.breakyizhan.com/springboot/3292.html
  • 相关阅读:
    12.数组三--数组的冒泡排序与快速排序
    11.数组二
    10.数组一
    Vue之组件与父子传值
    Django模型层
    面向对象的组合用法
    面向对象初识
    Python内置函数
    列表推导式,生成器表达式
    装饰器进阶
  • 原文地址:https://www.cnblogs.com/breakyizhan/p/13257756.html
Copyright © 2011-2022 走看看