springboot 中如何读取配置文件中的动态名称的参数

2021-08-27 16:24:35 +08:00
 gibber

想在配置文件中加入多数据源配置 但数据源的数量是不确定的 如果在 properties 中按如下方式配置有没有办法可以读取 db1.type=mysql db1.url=xxx db1.username=xxx db1.password=xxx

db2.type=oracle db2.url=xxx db2.username=xxx db2.password=xxx ...

其中 db1, db2 是可变的

1477 次点击
所在节点    程序员
6 条回复
chendy
2021-08-27 16:38:05 +08:00
用 Map
largebeef
2021-08-27 16:51:59 +08:00
env.get 可以动态获取
egfegdfr
2021-08-27 17:12:41 +08:00
用 list 包一层不就可以了,具体可以参照企业微信 多账户支持的实现
github.com/binarywang/weixin-java-cp-demo/blob/master/src/main/java/com/github/binarywang/demo/wx/cp/config/WxCpProperties.java
dadaoqueyi
2021-08-27 23:48:06 +08:00
再加个配置 custom.datasource=db1,db2,db3
Belmode
2021-08-28 00:39:42 +08:00
前面再加个前缀,后面的用 list 接收,就可以了,很基础的问题。

properties 配置
my.datasource[0].db1.type=mysql
my.datasource[1].db2.type=oracle

yml 配置
my.datasource
-db1:
type: mysql
-db2:
type: oracle
gibber
2021-08-28 07:29:11 +08:00
@Belmode
@egfegdfr
谢谢,忘记还能读取 list,不过老大不让用 list 读,所以还是用 env 按需动态拼接去读了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798375

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX