java - 如何在不同配置文件的属性中获取多个默认值?
问题描述
我有几个具有相同配置的微服务,每个都依赖于 Spring 配置文件。@ConfigurationProperties
采用我在 YAML 应用程序配置文件中的值。我想将此配置移到一个通用项目中,并移出微服务 YAML 配置。
问题是我对不同的配置文件有 2 种不同的配置。我可以@Value
用来注入默认值,但我只能这样做一次。有没有办法让多个默认值取决于特定的 Spring 配置文件?
在我的项目中,我们使用 Java 配置,而不是 XML。
解决方案
如果您想从公共位置读取属性,请写入bootstrap.yml
您的微服务并删除application.yml
。
引导程序.yml:
spring:
config:
location: file:/home/external/properties/location/
name: application
profiles:
active: dev
文件位置:/home/external/properties/location/
假设您需要开发和生产环境。然后将这 3 个属性文件保存在此位置。
application.yml
application-dev.yml
application-prod.yml
Spring Bootapplication.yml
首先读取属性。如果在中设置活动配置文件dev
,bootstrap.yml
则application.yml
值被覆盖application-dev.yml
。
对于不同的值,只需更改微服务中bootstrap.yml
的活动配置文件。
推荐阅读
- javascript - 从 axios 获取所有端点
- datetime - 写时间的最安全方法(日期时间)
- android - android如何在通过动画滚动时更改工具栏颜色
- tensorflow - 重塑 Keras 中的张量列表
- pandas - pandas to gbq 声称架构不匹配,而架构完全相同。在 github 上,声称所有问题都已在 2017 年解决
- javascript - 在脚本 src 中使用本地存储值
- python - 通过 requests.get() 下载 csv 数据检索我的 php 文本
- django - 如何从表单传递值到视图
- android - 当本地存储中不存在文件时,毕加索显示错误的图像
- c# - 根据类型将 JSON 文件中的每一行更改为常量