• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gibber
V2EX  ›  程序员

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

  •  
  •   gibber · Aug 27, 2021 · 2342 views
    This topic created in 1725 days ago, the information mentioned may be changed or developed.

    想在配置文件中加入多数据源配置 但数据源的数量是不确定的 如果在 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 replies    2021-08-28 07:29:11 +08:00
    chendy
        1
    chendy  
       Aug 27, 2021
    用 Map
    largebeef
        2
    largebeef  
       Aug 27, 2021
    env.get 可以动态获取
    egfegdfr
        3
    egfegdfr  
       Aug 27, 2021
    用 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  
       Aug 27, 2021
    再加个配置 custom.datasource=db1,db2,db3
    Belmode
        5
    Belmode  
       Aug 28, 2021
    前面再加个前缀,后面的用 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  
    OP
       Aug 28, 2021
    @Belmode
    @egfegdfr
    谢谢,忘记还能读取 list,不过老大不让用 list 读,所以还是用 env 按需动态拼接去读了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3510 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 239ms · UTC 10:36 · PVG 18:36 · LAX 03:36 · JFK 06:36
    ♥ Do have faith in what you're doing.