24.7.2. Relaxed绑定
Spring Boot将Environment
属性绑定到@ConfigurationProperties
beans时会使用一些宽松的规则,所以Environment
属性名和bean属性名不需要精确匹配。常见的示例中有用的包括虚线分割(比如,context-path
绑定到contextPath
),将environment属性转为大写字母(比如,PORT
绑定port
)。
例如,考虑以下@ConfigurationProperties
类:
在之前的例子里,下面的属性名都能使用:
表格 24.1. relaxed绑定
属性
说明
acme.my-project.person.firstName
标准驼峰命名语法
acme.my-project.person.first-name
短横线隔开表示,推荐用于.properties
和.yml
文件中
acme.my-project.person.first_name
下划线表示,用于.properties
和.yml
文件的可选格式
ACME_MYPROJECT_PERSON_FIRSTNAME
大写形式,推荐用于系统环境变量
注 注解的前缀
值必须用短横线隔开表示,即小写并用-
隔开,比如acme.my-project.person
。
表格 24.2. 各个属性源的relaxed绑定规则
属性源
Simple
List
Properties文件
驼峰命名法,短横线隔开表示,下划线表示
使用[ ]
的标准list语法,或者由逗号分隔的值
YAML文件
驼峰命名法,短横线隔开表示,下划线表示
标准的YAML list语法,或者由逗号分隔的值
环境变量
下划线作为分隔符的大写格式。_
不应当用在属性名上
被下划线环绕的数值。比如:MY_ACME_1_OTHER = my.acme[1].other
系统属性
驼峰命名法,短横线隔开表示,下划线表示
使用[ ]
的标准list语法,或者由逗号分隔的值
提示 我们推荐:当可能时,属性用小写短横线隔开的格式储存。比如,my.property-name=acme
最后更新于