V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gibber
V2EX  ›  程序员

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

  •  
  •   gibber · 94 天前 · 821 次点击
    这是一个创建于 94 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想在配置文件中加入多数据源配置 但数据源的数量是不确定的 如果在 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 是可变的

    6 条回复    2021-08-28 07:29:11 +08:00
    chendy
        1
    chendy   94 天前
    用 Map
    largebeef
        2
    largebeef   94 天前
    env.get 可以动态获取
    egfegdfr
        3
    egfegdfr   94 天前
    用 list 包一层不就可以了,具体可以参照企业微信 多账户支持的实现
    github.com/binarywang/weixin-java-cp-demo/blob/master/src/main/java/com/github/binarywang/demo/wx/cp/config/WxCpProperties.java
    dadaoqueyi
        4
    dadaoqueyi   94 天前
    再加个配置 custom.datasource=db1,db2,db3
    Belmode
        5
    Belmode   94 天前
    前面再加个前缀,后面的用 list 接收,就可以了,很基础的问题。

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

    yml 配置
    my.datasource
    -db1:
    type: mysql
    -db2:
    type: oracle
    gibber
        6
    gibber   93 天前
    @Belmode
    @egfegdfr
    谢谢,忘记还能读取 list,不过老大不让用 list 读,所以还是用 env 按需动态拼接去读了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1110 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:16 · PVG 04:16 · LAX 12:16 · JFK 15:16
    ♥ Do have faith in what you're doing.