我为hashmap编写了一个xml文件
有两个问题,xml文件显示红叉,但当鼠标指针悬停在它上面时,也不会出现错误消息,也不会出现问题'节。
第二个问题是,它编译得很好,但值键值不会传递给hashmap对象。类中的HashMap对象仍为' null'
哈希映射的XML是:
<bean id="GateKeeper" class="com.smarttrade.domain.GateKeeper"/>
<bean id="ClientToRateMap" class="java.util.HashMap">
<constructor-arg>
<map key-type="java.lang.String" value-type="java.lang.Integer">
<entry key="A" value=1 />
<entry key="B" value=2 />
<entry key="C" value=3 />
<entry key="D" value=4 />
</map>
</constructor-arg>
</bean>
和班级是
public class GateKeeper {
@Resource
@Qualifier("ClientToRateMap")
HashMap<String, Integer> ClientToRateMap;
public void ApplyRateLimitPerClient(ClientRequestEntity client) {
System.out.println(ClientToRateMap); // Ouput is NULL
}
}
答案 0 :(得分:0)
很可能是地图已创建,但未注入,因为您的xml中没有<annotation-config/>
。
答案 1 :(得分:0)
要解决代码中的两个问题,请按照以下步骤操作:
(1)您需要在xml中定义spring命名空间,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- add your beans here -->
</beans>
(2)为了弹出容器找到你的bean,你需要用GateKeeper
@Component
班级