java - Spring Boot : add new yml files to application config

标签 java spring spring-boot

我希望开发人员能够在本地覆盖某些配置属性。 (假设我们在 google drive 上工作,每个人都应该在自己的帐户上进行测试)。 我不想使用命令行覆盖属性(因为它必须在每个 IDE 配置和每个 CLI 运行中设置)。

我想要的是:应用程序应该使用所有标准的 spring boot 配置文件(application.yml 等),并寻找例如local.yml(在类路径上)或 ​​user.home 中的某个文件。那些额外的文件应该覆盖其他设置。

如何添加新的 yml 资源并正确排序?

编辑:我知道 Spring 的默认订单和位置。问题是关于添加新的

最佳答案

如果您查看有关配置文件 (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config) 位置的 Spring Boot 文档,您会发现它们是从以下位置(以及其他位置)加载的:

  • 打包的 jar 之外的配置文件特定的应用程序属性(application-{profile}.properties 和 YAML 变体)
  • 打包 jar 之外的应用程序属性(application.properties 和 YAML 变体)。

它们有两个默认加载位置(参见 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files):

  • 当前目录的/config 子目录。
  • 当前目录

本例中的当前目录是指 Java 进程的工作目录(通常是 JAR 所在的目录,或者如果在 IDE 中运行,通常是项目根文件夹)。因此,开发人员只需将他们自己的配置文件放在这些地方,它们就会自动加载(并将覆盖 JAR 中的属性)。将这些文件添加到 .gitignore(或 .svnignore 或...),它们就不会意外地提交到您的存储库中。

关于java - Spring Boot : add new yml files to application config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36294866/

相关文章:

java - 使用 Spring Boot 和多模块的 Maven 配置 - 在 Intellij 中运行应用程序

java - 更改默认的 JLabel 字体

java - 收集 Object[] 数组中的所有方法参数

java - 如何防止使用 H2 进行 JUnit-Test 的日期更改?

java - 循环遍历列表并查找字符串是否存在

java - 无法使用 kafka 和 spring boot 反序列化数据

java - GWT 中的服务器端配置常量

java - 如何在不使用克隆的情况下创建副本并返回其对象?

java - Spring - 如何使用两个数据源正确配置@Transactional?

java - Spring Boot自定义错误页面在部署在外部容器中时不起作用