我希望开发人员能够在本地覆盖某些配置属性。 (假设我们在 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/