[英]Spring boot YAML object mapping
我正在嘗試將 Spring Boot 中的 YAML 映射到 Java 類,這是我的 YAML 和 Java 類
---
tables:
trs_fact_txn_detail:
tablespecificparams:
expiredinterval: "90d"
fields: "abc"
trs_fact_txn_detail_et:
tablespecificparams:
expiredinterval: "56d"
fields: "abcdef"
@Configuration
@ConfigurationProperties(locations = {"${table.config.location}"})
public class RedshiftTableConfig {
private Map<String, tablespecificparams> tables;
public Map<String, tablespecificparams> getTables() {
return tables;
}
public void setTables(Map<String, tablespecificparams> tables) {
this.tables = tables;
}
public static final class tablespecificparams {
String expiredinterval;
String fields;
public String getExpiredinterval() {
return expiredinterval;
}
public void setExpiredinterval(String expiredinterval) {
this.expiredinterval = expiredinterval;
}
public String getFields() {
return fields;
}
public void setFields(String fields) {
this.fields = fields;
}
}
}
我正在映射兩個表。 無論如何 tablespecificparameters 的值似乎為空。 我已經調試了一段時間。 我如何在這里映射 tablespecificparams ?
您的配置文件應如下所示。
@Configuration
@ConfigurationProperties(locations = {"${table.config.location}",prefix = "tables"})
public class RedshiftTableConfig {
private Map<String, tablespecificparams> trs_fact_txn_detail;
public Map<String, tablespecificparams> getTrs_fact_txn_detail() {
return trs_fact_txn_detail;
}
public void setTrs_fact_txn_detail(Map<String, tablespecificparams> trs_fact_txn_detail) {
this.trs_fact_txn_detail = trs_fact_txn_detail;
}
public static final class tablespecificparams {
String expiredinterval;
String fields;
public String getExpiredinterval() {
return expiredinterval;
}
public void setExpiredinterval(String expiredinterval) {
this.expiredinterval = expiredinterval;
}
public String getFields() {
return fields;
}
public void setFields(String fields) {
this.fields = fields;
}
}
}
並且 yaml 文件應該有適當間隔的條目。
tables:
trs_fact_txn_detail:
tablespecificparams:
expiredinterval: "90d"
fields: "abc"
trs_fact_txn_detail_et:
tablespecificparams:
expiredinterval: "56d"
fields: "abcdef"
我通過從 yaml 中刪除字符串“bankspecificparams”來修復它。
---
tables:
trs_fact_txn_detail:
expiredinterval: "90d"
fields: "abc"
trs_fact_txn_detail_et:
expiredinterval: "56d"
fields: "abcdef"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.