【发布时间】:2019-11-17 18:57:06
【问题描述】:
我有一个名为 someMap 的字段,我需要在运行时根据收到的输入在其中注入一个映射。
我曾尝试使用@Resource 注释,但它与 xml 文件中指定的 beanId 紧密耦合。
@Resource(name="someMap")
private final Map<String,String> someMap;
<bean id="someMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry key="Engraving1" value="@Engraving1" />
<entry key="Engraving2" value="@Engraving2" />
<entry key="Engraving3" value="@Engraving3" />
<entry key="LeaveBlank" value="@LeaveBlank" />
</map>
</constructor-arg>
</bean>
<bean id="someOtherMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry key="Descirption" value="@Desc" />
<entry key="Engraving2" value="@Engraving2" />
<entry key="Engraving3" value="@Engraving3" />
<entry key="UniqueId" value="$60034" />
</map>
</constructor-arg>
</bean>
我想要摆脱这种紧密耦合并将 someMap 字段初始化为 spring xml 中定义的 Map 的不同风格让我们说 someOtherMap
【问题讨论】:
标签: java spring dependency-injection properties dependency-properties