gpt4 book ai didi

java - 如何将原始类注入(inject)bean

转载 作者:行者123 更新时间:2023-12-03 23:52:14 25 4
gpt4 key购买 nike

假设我有这样的类(class):

public class MyClass {

...

private Map<String, Class> eventsMapping = new HashMap<String, Class>();

...

}

public void setEventsMapping(Map<String, Class> mappings){
this.eventsMapping = mappings;
}

如何创建填充了 eventsMapping 的此类 bean?我的意思是 bean 的 XML 定义。问题是 HashMap 包含类而不是对象。

我假设它应该是这样的:

<bean id="myBean" class="com.my.MyClass" >
<property name="eventsMapping">
<map>
<entry key="ABC">
<bean class="java.lang.Class">
???
</bean>
</entry>
</map>
</property>
</bean>

如何传递特定的类(不是对象)

最佳答案

如果你正在寻找你的 map 有 java.lang.Class实例作为值,然后简单地使用

<bean id="myBean" class="com.my.MyClass">
<property name="eventsMapping">
<map>
<entry key="ABC" value="java.lang.Class" ></entry>
</map>
</property>
</bean>

Spring 将使用转换服务来更改 Stringjava.lang.ClassClass java.lang.Class 的实例.

同样,您可以将值放在 <value> 中元素。

<bean id="myBean" class="com.my.MyClass">
<property name="eventsMapping">
<map>
<entry key="ABC">
<value>
java.lang.Class
</value>
</entry>
<entry key="DEF">
<value>
java.util.List
</value>
</entry>
</map>
</property>
</bean>

关于java - 如何将原始类注入(inject)bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19792421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com