使用java Spring将值注入Hashmap

Posted

技术标签:

【中文标题】使用java Spring将值注入Hashmap【英文标题】:Injecting values into Hashmap using java Spring 【发布时间】:2021-09-12 02:02:46 【问题描述】:

我能够使用 java Spring 注解将键值对注入到 hashmap 中,如下所示

validationError.properties 文件

errorcode.map=\
  "default.labOrder.oneservice": "AAAAAA", \
  "default.labOrder.patient.firstName": "BBBBB", \

我可以使用以下代码将值注入到我的哈希图中,如下所示

@Value("#$errorcode.map") 私有地图 errorNumberMap;

但是,如果我有一个具有以下值的属性文件

errorcode.map=\
  "LAB": "AAAAAA, BBBB, CCCC", \
  "ECP": "AAAAAA, BBBB, CCCC", \

和一个映射 Hashmap preserveMap = new HashMap() 其中 AccessType 是一个枚举。 spring 是否有任何注释可以填充我的 preserveMap 值?

谢谢!

【问题讨论】:

【参考方案1】:

将属性直接映射到 bean 字段仅支持属性和字段值之间的简单基本映射。

使用配置对象提供了更多选项,可以做这种技巧,而且可读性也更好。

https://www.baeldung.com/configuration-properties-in-spring-boot

【讨论】:

它有效。谢谢贾斯珀。这是一个更好的方法。

以上是关于使用java Spring将值注入Hashmap的主要内容,如果未能解决你的问题,请参考以下文章

Spring容器

Spring Bean的生命周期

Spring Bean的生命周期

Spring注入值到静态变量

将值注入Jackson转换器/解串器

ConfigProperty 未将值注入字段