spring 多个application.yml未在Sping Boot 中合并

bz4sfanl  于 2023-03-28  发布在  Spring
关注(0)|答案(2)|浏览(289)

我有一个用于数据库通信的模块(my-db-lib),并将其导入到基于Sping Boot 的Web应用程序模块(my-web-app)
我想在my-db-lib中设置db的配置,在my-web-app中设置web应用

使用yml文件时,

  1. my-db-libdb: url: localhost中的应用程序.yml
  2. my-web-appapp: message: hello中的应用程序.yml
    my-web-app运行时,它只能读取app.message,不能读取db.url
    看起来yml文件只是被替换成一个具有最高优先级的文件(当不使用配置文件时)是正确的吗?我如何才能达到目的?
    谢谢你,对不起我的英语不好:D
bis0qfac

bis0qfac1#

子模块中的application.yml将被父模块中的application.yml覆盖。
您可以使用以下命令:

  1. application-my-db-lib.yml用于模块my-db-lib
  2. application.yml用于模块my-web-app
j1dl9f46

j1dl9f462#

作为一个技巧,我把另一个application.yml移到了'/config'文件夹。
这个应该能用

my-db-lib/src/main/resources/config/application.yml
my-web-app/src/main/resources/application.yml

也许你需要使用足够高版本的Sping Boot 。
注意:与“/config”不同的文件夹(如“/config/db”)将不起作用。

相关问题