启动我的spring启动应用程序时,我想使用命令行参数设置自定义配置文件路径,例如:
java -jar some.jar -DConfigPath=conf/config.local(or conf/config.prod)
那么如何读取此文件以生成弹簧配置?
我可以以某种“动态”的方式使用注释@PropertySource
吗?
答案 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文件一样读取您的配置