首先引用网上大多数人喜欢的这一段:
Binding 利用了一个新的 ApplicationConversionService 类,它提供了一些对属性绑定特别有用的额外转换器。最引人注目的是转换器的Duration类型和分隔字符串。
该Duration转换器允许在任一 ISO-8601 格式中指定的持续时间,或作为一个简单的字符串(例如10m,10 分钟)。现有的属性已更改为始终使用Duration。该@DurationUnit注释通过设置如果没有指定所使用的单元确保向后兼容性。例如,Spring Boot 1.5 中需要秒数的属性现在必须@DurationUnit(ChronoUnit.SECONDS)确保一个简单的值,例如10实际使用的值10s。
分隔字符串转换允许您将简单绑定String到Collection或Array不必分割逗号。例如,LDAP base-dn 属性用 @Delimiter(Delimiter.NONE),所以 LDAP DN(通常包含逗号)不会被错误解释。
其实上面起到了抛砖引引玉的作用,但是还不够详细,说白了就是指给了大的方向,下面我会给出具体详解:
一、
注解@DurationUnit(ChronoUnit.SECONDS)指明了sessionTimeout的单位是 秒,因此yml中可以指定30, PT30S and 30s,这几种写法都是正确的,表示i30秒
二、
前端可以传以逗号(,)分隔的string,后端集合或者List可以直接解析映射
三、
@ConfigurationProperties Validation
主要用于验证字段比如非空验证
网友评论