首页 > 解决方案 > 如何仅加载配置文件特定的属性文件并忽略默认的 application.properties?

问题描述

我有一个普通的 Spring Boot 应用程序,文件resources夹中有两个属性文件:

应用程序属性

com.example.prop1=value1
com.example.enableMock=true

应用程序-dev.properties

com.example.prop1=value11

我有一些基于是否com.example.enableMock存在或缺失的逻辑。问题是弹簧加载这两个文件,即使spring.profiles.active=dev应用程序正在获取该com.example.enableMock属性。

我如何只加载配置文件特定的属性文件?

标签: javaspringspring-bootspring-profiles

解决方案


默认情况下application.properties为 any 加载,application-*.properties因为通过以下方式共享:

application.properties
     - > application-dev.properties
     - > application-test.properties

如果您将其设置default为配置文件,则可以解决此问题。重命名application.properties为:

application-default.properties 

推荐阅读