Java配置文件如何取值?
application.properties 配置文件有如下配置:如何映射成 Bean, 遍历取值?属性多个
app.property.demo[0].name=demo0app.property.demo[0].val=val0
app.property.demo[1].name=demo1
app.property.demo[1].val=val1
网上找到一篇文章,说的是错的,根本映射不了
#http协议下消息传输msgtransfer.tranprocol.http.orderid = order1
msgtransfer.tranprocol.http.count = 100
#fix协议下消息传输
msgtransfer.tranprocol.fix.orderid = order2
msgtransfer.tranprocol.fix.count = 200
@Component@Data
@ConfigurationProperties(prefix = "msgtransfer")
public class MsgTransferCfg {
private Map<String, MsgInfo> tranprocol;
public static class MsgInfo {
private String orderid;
private int count;
}
}
关键点在 private Map<String, MsgInfo> tranprocol;,http 和 fix 会自动映射为 tranprocol 的 key,orderid 和 count 会映射到 MsgInfo 的成员属性上。
回答:
@Component
@ConfigurationProperties(prefix = "app.property")
@Data
public class TestProperties {
private List<WebConfigs> demo = new ArrayList<>();@Data
public static class WebConfigs {
private String name;
private String val;
}
}
app.property.demo[0].name=demo0
app.property.demo[0].val=val0
app.property.demo[1].name=demo1
app.property.demo[1].val=val1
以上是 Java配置文件如何取值? 的全部内容, 来源链接: utcz.com/p/944179.html