gpt4 book ai didi

Spring - 从 XML 注入(inject) HashMap>

转载 作者:行者123 更新时间:2023-12-02 04:50:43 24 4
gpt4 key购买 nike

现在,我有一个名为 A 的类,其中包含如下属性:

private Map<Class<?>, List<EntityIndexConfig>> relatedEntitiesMap;

我最初的想法是从 XML 中注入(inject)一些键及其各自的列表,但无法使其工作。相反,我使用 @PostConstruct 创建了一个方法:

@PostConstruct @SuppressWarnings("serial")
public void loadRelatedEntities() {
/* And here I load it */
relatedEntitiesMap = new HashMap<Class<?>, List<EntityIndexConfig>>(){{
put(Agency.class, new ArrayList<EntityIndexConfig>() {{
add(new EntityIndexConfig("Package.listByAgency", applicationContext.getBean(PackageRepository.class), "agencyId"));
}});
/* More entries here... */
}
}

尽管它有效,但如果可能的话,我希望能够在 Spring XML 文件中包含此配置。有什么想法如何创建 Map 并将类作为键和 EntityIndexConfig 列表吗?

如果你们中有人知道我将不胜感激。谢谢。

最佳答案

如上所述here在文档中:

<util:map key-type="java.lang.Class">  
<entry key="com.MyClass">
<util:list>
<ref bean="EntityIndexConfig1"/>
<bean class="com.mypackage.SomeEntityIndexConfig/>
</util:list>
</entry>
</util:map>

这假设您已声明 util 命名空间前缀:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

请记住,这是我徒手写的,很可能我在某个地方犯了拼写错误或语法错误。但这至少应该让你非常接近。

关于Spring - 从 XML 注入(inject) HashMap<Class, List<X>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461452/

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