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

时间:2018-05-09 04:41:49

标签: spring spring-boot configuration-files

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

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

那么如何读取此文件以生成弹簧配置? 我可以以某种“动态”的方式使用注释@PropertySource吗?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

尝试使用

  

spring.config.location

像这样的东西

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

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