代码音符

springboot外部引入yaml配置文件会互相覆盖的问题

创建时间: 2021-1-25 12:54

修改时间: 2023-6-26 18:06

浏览: 547

我通常习惯把所有的第三方配置都保存在一个yml配置文件中,比如微信登录的AppId、AppSecret等,然后再通过通过springboot提供的配置文件引入方式将配置参数引入进业务中,就像这样:

前段时间公司连续对接了腾讯云API、微信登录、微信支付后,突然发现,当在同一个项目下,无论是在不同配置文件,不同路径下的配置文件,当引入配置项的 @Value 注解中的name相同时,其中的值会互相覆盖。

比如我有一个yml文件是这样的:

weixin:
  appId: wx123456

第二个yml文件是这样的:

alipay:
  appId: ali789456

那么,在我分别在两个配置类中引入这两个配置参数时,alipay的AppID会永远被weixin的AppID覆盖,具体的谁被覆盖取决于配置文件的文件名排序,后者覆盖前者。

创建时间: 2021-1-25 12:54

修改时间: 2023-6-26 18:06

浏览: 547

*本文遵循 CC BY-NC-SA 许可协议。转载请注明出处!