在spring-boot / spring-cloud应用程序中,我想将Map对象绑定到我的application.yml,但是我遇到了“ Elements ... where lef unbound error”。
在名为Ebox的类中,我想绑定一个名为infosTenants的地图,该地图由字符串标识并包含InfosTenant类型的值。
在application.yml下面(没有每个类或子类的getter / setter方法)
@ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
public class ApplicationProperties {
private Ebox ebox = new Ebox();
public ApplicationProperties() {
}
// getters/setters ...
public static class Ebox {
private String authUrl;
private Map<String, InfosTenant> infosTenants = new HashMap<>();
public Ebox() {
}
public class InfosTenant{
private String clientId="";
private String clientSecret="";
public InfosTenant() {
}
// getters/setters ...
}
}
}
在我的application.yml中,我在租户图中定义了一个租户,由关键的tenant1标识。
application:
ebox:
auth-url: https://oauth-server/api/oauth/token
infos-tenants:
tenant1:
client-id: myclient
client-secret: secret
但是信息租户下的所有值均不受约束。 有人有主意吗? 谢谢
答案 0 :(得分:0)
我发现了错误,内部类应该是静态的,在InfosTenant类之前我忘记了静态的。
public static class InfosTenant{
private String clientId="";
private String clientSecret="";
public InfosTenant() {
}
// getters/setters ...
}