我正在使用Spring Boot 1.5.15,并且在读取带有 annotation 的 bean 时遇到了一些麻烦@ConfigurationProperties
。
详细地说,我正在尝试使用以下 bean。
@ConfigurationProperties(prefix = "permissions")
public class Permissions {
private List<String> permissions;
private Set<String> permissionsSet;
public List<String> getPermissions() {
return this.permissions;
}
public void setPermissions(List<String> permissions) {
this.permissionsSet = new HashSet<>(permissions)
this.permissions = permissions;
}
// Other code
}
对应application.yml
的如下。
permissions:
permissions:
- ROLE_1
- ROLE_2
我面临的问题是成员permissionsSet
总是空的。我调试了应用程序,发现 Spring 使用以下工作流来创建 bean。
- 默认构造函数调用
- 使用空列表调用 Setter
- 在 setter 调用后为列表注入正确的值。
这是正确的行为吗?我试图在文档中找到任何参考,但我找不到任何东西。
有没有办法解决这个问题?
非常感谢。