gpt4 book ai didi

java - 无法注入(inject)Bean

转载 作者:行者123 更新时间:2023-12-02 06:44:57 25 4
gpt4 key购买 nike

我正在尝试使用 java bean 进行注入(inject)。这是一个非常基本的实现,但是注入(inject)不起作用。你能指导一下吗?

测试.java

 public class TempClass{
@Autowired
HashMap<String,HashMap<String,String>> newMap = new HashMap<String,HashMap<String,String>>();


public void setNewMap(HashMap<String, HashMap<String,String>> newMap)
{
newMap= newMap;
}

public HashMap<String, HashMap<String,String>> getNewMap()
{
return newMap;
}
}

另外:对于我的 bean 配置 conn.xml

       <?xml version="1.0" encoding="UTF-8"?>

<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">

<util:map id="xyz" map-class="java.util.HashMap">
<entry key="x" value-ref="x" />
<entry key="y" value-ref="y" />
<entry key="z" value-ref="z" />
</util:map>

<util:map id="x" map-class="java.util.HashMap">
<entry key="xx" value="xx" />
<entry key="xy" value="xy" />
<entry key="xz" value="xz" />
</util:map>

<util:map id="y" map-class="java.util.HashMap">
<entry key="yx" value="yx" />
<entry key="yy" value="yy" />
<entry key="yz" value="yz" />
</util:map>

<util:map id="z" map-class="java.util.HashMap">
<entry key="zx" value="zx" />
<entry key="zy" value="zy" />
<entry key="zz" value="zz" />
</util:map>

<bean id="bean123" class="reference.to.class" autowire="byName">
<property name="newMap" ref="xyz" />
</bean>

</beans>

有人可以指导我到底出了什么问题吗?

最佳答案

@Autowired 注释应该位于您要注入(inject)的字段的上方。并且该字段不应仅被声明而分配。

此外,注入(inject) map 并不是最简单的示例。您应该编写一个更简单的测试用例来掌握它的窍门。例如,

package test;
public class SpringInjectionTest {
@Autowired
private String injectThis;

public void setInjectThis(String s) {
injectThis = s;
}

public String getInjectThis() {
return injectThis;
}
}

这是 applicationContext:

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

<context:annotation-config />

<bean id="testBean" class="test.SpringInjectionTest" autowire="byName"/>
</beans>

关于java - 无法注入(inject)Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751488/

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