如何在 spring 引导应用程序中使用命令行参数读取自定义 属性 文件

how to read custom property files with command line argument in a spring boot application

启动我的 spring 启动应用程序时,我想使用命令行参数设置自定义配置文件路径,例如:

java -jar some.jar -DConfigPath=conf/config.local(or conf/config.prod) 

那么如何读取这个文件来生成spring配置呢? 我可以以某种 "dynamic" 的方式使用注释 @PropertySource 吗?

尝试使用

spring.config.location

像这样

java -jar some.jar --spring.config.location=file:some-project/src/main/resources/conf/config.prod

这应该像任何 application.properties 文件一样读取您的配置

好的,我发现注解@PropertySource可以获取命令行参数注入的值

   @Configuration
   @ConfigurationProperties
   @PropertySource(value = "file:${ConfigPath}")
   public class MyConfig {
            @Getter
            @Value("${property_name}")
            private String myproperty;
    }