【发布时间】:2022-08-16 22:29:43
【问题描述】:
Spring 将自动将application.properties 或application.yml 中定义的属性绑定到@ConfigurationProperties 注释类中定义的字段。例如,在我的application.properties 中,我可以拥有:
fizz.buzz=35
fizz.foo=hello
在我的 Java 代码中,我可以拥有:
@ConfigurationProperties(\"fizz\")
public class FizzProperties {
private Integer buzz;
private String foo;
// ...
}
在运行时FizzProperties#buzz 将获得35 的值注入其中,FizzProperties#foo 将获得\"hello\" 的值注入其中。
我想知道骆驼大小写的 Java 字段以及属性文件中使用的连字符 (\"-\") 和句点 (\".\") 的命名约定是什么。例如,如果我有:
fizz.whistle-feather=true
fizz.baz.boo=always
为了让 Spring 正确映射和注入它们,它们对应的 Java 字段需要是什么样的?
public class Baz {
private String boo;
}
@ConfigurationProperties(\"fizz\")
public class FizzProperties {
private Integer whistleFeather; // correct?
private Baz baz; // correct?
// ...
}
我的假设在这里是正确的还是被误导了(如果被误导了,又如何)?我在 Spring 文档中找不到这个解释。