我遇到了Apache Commons的MultiKeyMap,并且有兴趣在Spring框架中使用它,而不是使用常规映射,因为我需要双键映射。任何人都知道如何在Spring框架中使用MultiKeyMap?如何在Spring框架中使用Apache中的MultiKeyMap
回答
我没有检查,但我猜支持MultiKeyMap
不是内置的Spring。
您需要构造MultiKey
实例作为与普通的Map
接口方法一起使用的键。最明显的方法是这样的:
<map>
<entry>
<key><bean class="org.apache.commons.collections.keyvalue.MultiKey">
<constructor-arg index="0"><ref bean="KEY_0_REF"/></constructor-arg>
<constructor-arg index="1"><value>KEY_1_VALUE</value></constructor-arg>
</bean></key>
<value>YOUR_VALUE</value>
</entry>
</map>
由<map>
元素生成的地图是不是MultiKeyMap
,所以你需要创建自己:
<bean id="yourMultiKeyMap" class="org.apache.commons.collections.map.MultiKeyMap">
<constructor-arg>
<bean class="org.apache.commons.collections.map.HashedMap">
<constructor-arg>
<map>YOUR_MULTI-KEY_VALUE_PAIRS</map>
</constructor-arg>
</bean>
</constructor-arg>
</bean>
它的工作原理(以测试它Spring 3.0.5),但是它写的很多XML。
使用弹簧UTIL命名空间,可以减少地图生成部这样的:
<beans xmlns:util="http://www.springframework.org/schema/util" ...>
...
<util:map id="yourMultiKeyMap" map-class="org.apache.commons.collections.map.MultiKeyMap">
<entry>
...
</entry>
</u:map>
...
</beans>
有一个较短的方式创造MultiKey
实例?
另外请注意,我可以作为注射用@Autowired
注解的bean创建MultiKeyMap
,但使用@Autowired
注解我不能注入地图<util:map>
。我不得不使用JSR-250的@Resource
注释。
谢谢你的建议。在
我不知道比明确构造类MultiKey作为键的bean更短的方法,如答案的第一个代码片段所示。 – 2011-05-05 20:01:46
- 1. 如何在Spring框架中使用ORM ...?
- 2. 在Spring MVC框架中使用RestApi
- 3. 在Spring 3中使用框架集0
- 4. 在Spring框架中使用JMockit和TestNG
- 5. 如何在我的框架中使用Struts 2.0,Spring和Hibernate
- 6. 如何在Spring框架中使用HibernateTemplate调用存储过程?
- 7. 如何在Spring框架中使用注解初始化java bean?
- 8. 在使用Spring框架的项目中使用纯servlet(Java Servlet,无框架)?
- 9. 如何使用Spring Web MVC框架
- 10. Spring框架的使用
- 11. 如何使用Spring Integration框架中的Statistics类?
- 12. 如何使用Spring框架中的JdbcTemplate类执行INSERT语句
- 13. Spring框架中的FileSytemResources
- 14. 使用的JdbcTemplate在Spring框架
- 15. 如何遍历MultiKeyMap?
- 16. 如何在Django框架中使用Cassandra
- 17. 如何在windows phone中使用框架?
- 18. 如何在iPhone中使用LLGeofence框架?
- 19. 如何在LWUIT框架中使用CSS?
- 20. 如何在yii2框架中使用joinwith
- 21. 如何在框架中使用System.Guid.Parse 3.5
- 22. 如何在Django框架中使用jqGrid
- 23. 如何在npm中使用css框架
- 24. 如何在cakephp中使用框架?
- 25. 如何在Swift框架中使用Cocoapods?
- 26. 如何在Mercurial中使用Symfony框架?
- 27. 如何在框架中使用PHP CURL?
- 28. 如何在zend框架中使用phpThumb()
- 29. 如何在框架中使用jquery
- 30. 无法使用Spring框架
你是什么意思,“一起使用”? – skaffman 2011-05-03 20:55:51