/ / YMLファイルは、春のブートでは動作しません - ジャワ、春、春ブート、ウェブ、yaml

YMLファイルdosn'tは春のブートで動作します - java、spring、spring-boot、web、yaml

私は問題を抱えています、そして、私は本当にそれを解決する方法を知りません、そして私にとってそれは賢明にしません。私はそれを見ることができないので誰でも私がそれを見ることができないので間違いがどこにあるか私に言うことができます。私はスプリングブートを使用しています

ここにymlファイルがあります。

spring:
profiles: dev
devices:
list:
- id : TV1
type : TV
value : boolean
name : TV_sufragerie
- id : TV2
type : TV
value : boolean
name : TV_dormitor
- id : Therme1
type : Therme
value : Double
name : Therme-hol
- id : SmartBulb1
type : SmartBulb
value : SmartBulbValue
name : SmartBulbDormitor

そして、これは私がymlファイルからデータを取得しようとしている方法です:

@Component
@ConfigurationProperties("devices")
public class DeviceYml {

private List<DevicesList> list = new ArrayList<>();

public static class DevicesList {

private String id;

private  String type ;

private List<String> value = new ArrayList<>();

private String name;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public List<String> getValue() {
return value;
}

public void setValue(List<String> value) {
this.value = value;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "YAMLConfigDevice [id=" + id + ", type=" + type + ", value=" + value + ", name=" + name + "]";
}

}
public List<DevicesList> getDevices() {
return list;
}

public void setDevices(List<DevicesList> list) {
this.list = list;
}

@Override
public String toString() {
return "devicesList=" + list + "";
}
}

私はまた、Applicaton.propertiesにこれを持っています:

spring.profiles.active=dev

回答:

回答№1は0

最初のことはあなたのymlが正しくフォーマットされていることを確認することです。 Ymlは適切に解析されるためにスペースに頼ります。

ymlが正しくフォーマットされているとすると、問題はgetterとsetterにあります。彼らの名前(電話 getDevices そして setDevices)ymlがと​​いう名前のキーを含むことを期待します devices しかし、あなたはそれを呼んだ devices.list.