Java 在spring boot中使用@Value将映射从yml文件注入配置属性

Java 在spring boot中使用@Value将映射从yml文件注入配置属性,java,spring,spring-boot,spring-config,Java,Spring,Spring Boot,Spring Config,我正在尝试从yml注入一个类似这样的映射 redisDbIndex: key1: 1 key2: 2 key3: 3 变成 Map Map=newhashmap() 在我的配置类中(我不想使用@ConfigurationProperties(prefix=“…”)注释,因为我已经知道这种方法 我想知道如何使用@Value(${placeholder}”)注释来做同样的事情。有可能吗?如果有,怎么做?我只是在探索内部。如果有人能给我一个提示,那就太好了 我使用的是spring

我正在尝试从yml注入一个类似这样的映射

redisDbIndex:
   key1: 1
   key2: 2
   key3: 3
变成
Map Map=newhashmap()

在我的配置类中(我不想使用
@ConfigurationProperties(prefix=“…”)
注释,因为我已经知道这种方法

我想知道如何使用
@Value(${placeholder}”)
注释来做同样的事情。有可能吗?如果有,怎么做?我只是在探索内部。如果有人能给我一个提示,那就太好了


我使用的是spring boot 1.4.3.RELEASE(它是否有此功能?)

可能的重复当然可能。您的缩进是否正确?是否有任何错误?这可能是有帮助的答案您正在查找yaa,我收到的错误如下:java.lang.IllegalArgumentException:无法解析字符串值“${redidbIndex}”中的占位符“redidbIndex”疑问:<代码> @值和<代码> @配置属性他们做类型安全注入的方式吗?<代码> @值总是考虑要注入的字符串值吗?如果我试图使用“代码> >值< /代码>插入一个列表,它会起作用,但map不起作用。此外,是否有任何压痕标准?(我使用2个空格作为键值对的缩进)@PospolitaNikita我尝试使用“#{${redidbIndex}}”占位符,但仍然不起作用。在示例中,它们使用的是属性文件语法。我确实怀疑使用yml或属性文件可能不会有什么区别,但至少对我不起作用。