Java配置文件如何取值?

application.properties 配置文件有如下配置:如何映射成 Bean, 遍历取值?属性多个

app.property.demo[0].name=demo0

app.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

回到顶部