【发布时间】:2017-05-16 08:17:49
【问题描述】:
如何使用spring 直接将以下键值文件作为Properties 变量或HashMap 注入?
src/main/resources/myfile.properties:
key1=test
someotherkey=asd
(many other key-value pairs)
以下方法均无效:
@Value("${apikeys}")
private Properties keys;
@Resource(name = "apikeys")
private Properties keys;
旁注:我事先不知道属性文件中的键。所以我不能使用@PropertyResource注入。
【问题讨论】:
-
您使用的是哪个春季版本?
-
spring-boot.1.5.3,因此是最新的spring 4 -
不可能开箱即用(你需要一个单独的类来这样做)如果你想像你所做的那样声明它。但是如果你可以将它声明为String
propertyMap= {key1:test, key2:test2},那么你可以使用SPEL直接映射到一个Map -
@membersound
@Value是强制性要求吗?你会考虑使用@ConfigurationProperties吗?