24.7.2 Relaxed binding
Spring Boot将Environment
属性绑定到@ConfigurationProperties
beans时会使用一些宽松的规则,所以Environment属性名和bean属性名不需要精确匹配。常见的示例中有用的包括虚线分割(比如,context-path绑定到contextPath),将environment属性转为大写字母(比如,PORT绑定port)。
例如,给定以下@ConfigurationProperties
类:
@ConfigurationProperties(prefix="person")
public class OwnerProperties {
private String firstName;
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
下面的属性名都能使用:
Property | Note |
---|---|
person.firstName |
标准驼峰规则 |
person.first-name |
虚线表示,推荐用于.properties和.yml文件中 |
person.first_name |
下划线表示,用于.properties和.yml文件的可选格式 |
PERSON_FIRST_NAME |
大写形式,将属性作为系统环境变量时推荐 |