spring @value与可执行文件外部的属性文件一起使用

时间:2018-10-01 09:37:29

标签: java spring spring-boot properties

我要配置和加载属性文件,以便它不包含在jar中。
如何在与jar而不是类路径相同的位置加载props文件?

现有配置如下。

xml设置
<util:properties id="mainProps" location="classpath:config.properties" />

java代码
@Value("#{mainProps['message.timeout']}") private Long timeout;

我可以修改spring util设置以保留使用情况吗?
还是可以其他方式使用它?

1 个答案:

答案 0 :(得分:0)

您可以使用@Amogh提到的<util:properties id="mainProps" location="file:<full path to file>"/>

如果您不想在XML文件中使用完整路径,或者在不同的PC上路径可能不同,则可以在指向该配置文件并使用它的PC上创建环境变量(例如PATH_TO_CONFIG)< / p>

@Value("#{environment.PATH_TO_CONFIG}")<util:properties id="mainProps" location="file#{environment['PATH_TO_CONFIG']}"/>