Spring可以对集合类型进行注入包括:Set集合,properties属性集合,Map集合以及List集合
注入方式如下:
Java代码
01.package com.test;
02.
03.import java.util.ArrayList;
04.import java.util.HashMap;
05.import java.util.HashSet;
06.import java.util.Map;
07.import java.util.Properties;
08.import java.util.Set;
09.import java.util.List;
10.
11.public class UserServiceImplement implements IUserService {
12.
13. public Set<String> getS() {
14. return s;
15. }
16.
17. public void setS(Set<String> s) {
18. this.s = s;
19. }
20.
21. public Map<String, String> getM() {
22. return m;
23. }
24.
25. public void setM(Map<String, String> m) {
26. this.m = m;
27. }
28.
29. public Properties getP() {
30. return p;
31. }
32.
33. public void setP(Properties p) {
34. this.p = p;
35. }
36.
37. public List<String> getL() {
38. return l;
39. }
40.
41. public void setL(List<String> l) {
42. this.l = l;
43. }
44.
45. private Set<String> s = new HashSet<String>();
46. private Map<String, String> m = new HashMap<String, String>();
47. private Properties p = new Properties();
48. private List<String> l = new ArrayList<String>();
49.
50. public void saveUser() {
51. System.out.println("Set集合注入");
52. for (String str : s) {
53. System.out.println(str);
54. }
55.
56. System.out.println("------------------------------");
57. System.out.println("Map集合注入");
58. for (String str : m.values()) {
59. System.out.println(str);
60. }
61.
62. System.out.println("------------------------------");
63. System.out.println("Properties属性集合注入");
64. for (Object str : p.values()) {
65. System.out.println(str);
66. }
67.
68. System.out.println("------------------------------");
69. System.out.println("List集合注入");
70. for (String str : l) {
71. System.out.println(str);
72. }
73. }
74.}
[java] view plaincopy
01.package com.test;
02.
03.import java.util.ArrayList;
04.import java.util.HashMap;
05.import java.util.HashSet;
06.import java.util.Map;
07.import java.util.Properties;
08.import java.util.Set;
09.import java.util.List;
10.
11.public class UserServiceImplement implements IUserService {
12.
13. public Set<String> getS() {
14. return s;
15. }
16.
17. public void setS(Set<String> s) {
18. this.s = s;
19. }
20.
21. public Map<String, String> getM() {
22. return m;
23. }
24.
25. public void setM(Map<String, String> m) {
26. this.m = m;
27. }
28.
29. public Properties getP() {
30. return p;
31. }
32.
33. public void setP(Properties p) {
34. this.p = p;
35. }
36.
37. public List<String> getL() {
38. return l;
39. }
40.
41. public void setL(List<String> l) {
42. this.l = l;
43. }
44.
45. private Set<String> s = new HashSet<String>();
46. private Map<String, String> m = new HashMap<String, String>();
47. private Properties p = new Properties();
48. private List<String> l = new ArrayList<String>();
49.
50. public void saveUser() {
51. System.out.println("Set集合注入");
52. for (String str : s) {
53. System.out.println(str);
54. }
55.
56. System.out.println("------------------------------");
57. System.out.println("Map集合注入");
58. for (String str : m.values()) {
59. System.out.println(str);
60. }
61.
62. System.out.println("------------------------------");
63. System.out.println("Properties属性集合注入");
64. for (Object str : p.values()) {
65. System.out.println(str);
66. }
67.
68. System.out.println("------------------------------");
69. System.out.println("List集合注入");
70. for (String str : l) {
71. System.out.println(str);
72. }
73. }
74.}
要注意的是:这些集合属性也必须要有对应的setter方法
Xml代码
01.<?xml version="1.0" encoding="UTF-8"?>
02.<beans xmlns="http://www.springframework.org/schema/beans"
03. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
04. xsi:schemaLocation="http://www.springframework.org/schema/beans
05. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
06. http://www.springframework.org/schema/context
07. http://www.springframework.org/schema/context/spring-context-2.5.xsd">
08. <context:annotation-config />
09.
10. <bean id="userservice" class="com.test.UserServiceImplement">
11. <property name="s">
12. <set>
13. <value>SetValue1</value>
14. <value>SetValue2</value>
15. <value>SetValue3</value>
16. </set>
17. </property>
18.
19. <property name="m">
20. <map>
21. <entry key="MapKey1" value="MapValue1"></entry>
22. <entry key="MapKey2" value="MapValue2"></entry>
23. <entry key="MapKey3" value="MapValue3"></entry>
24. </map>
25. </property>
26.
27. <property name="p">
28. <props>
29. <prop key="PropertiesKey1">PropertiesValue1</prop>
30. <prop key="PropertiesKey2">PropertiesValue2</prop>
31. <prop key="PropertiesKey3">PropertiesValue3</prop>
32. </props>
33. </property>
34.
35. <property name="l">
36. <list>
37. <value>ListValue1</value>
38. <value>ListValue2</value>
39. <value>ListValue3</value>
40. </list>
41. </property>
42. </bean>
43.</beans>
[xml] view plaincopy
01.<?xml version="1.0" encoding="UTF-8"?>
02.<beans xmlns="http://www.springframework.org/schema/beans"
03. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
04. xsi:schemaLocation="http://www.springframework.org/schema/beans
05. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
06. http://www.springframework.org/schema/context
07. http://www.springframework.org/schema/context/spring-context-2.5.xsd">
08. <context:annotation-config />
09.
10. <bean id="userservice" class="com.test.UserServiceImplement">
11. <property name="s">
12. <set>
13. <value>SetValue1</value>
14. <value>SetValue2</value>
15. <value>SetValue3</value>
16. </set>
17. </property>
18.
19. <property name="m">
20. <map>
21. <entry key="MapKey1" value="MapValue1"></entry>
22. <entry key="MapKey2" value="MapValue2"></entry>
23. <entry key="MapKey3" value="MapValue3"></entry>
24. </map>
25. </property>
26.
27. <property name="p">
28. <props>
29. <prop key="PropertiesKey1">PropertiesValue1</prop>
30. <prop key="PropertiesKey2">PropertiesValue2</prop>
31. <prop key="PropertiesKey3">PropertiesValue3</prop>
32. </props>
33. </property>
34.
35. <property name="l">
36. <list>
37. <value>ListValue1</value>
38. <value>ListValue2</value>
39. <value>ListValue3</value>
40. </list>
41. </property>
42. </bean>
43.</beans>
测试类:
Java代码
01.package com.test;
02.
03.import org.springframework.context.ApplicationContext;
04.import org.springframework.context.support.ClassPathXmlApplicationContext;
05.
06.public class Test {
07.
08. public static void main(String[] args) {
09. ApplicationContext ctx = new ClassPathXmlApplicationContext(
10. "com/test/bean.xml");
11. IUserService us = (IUserService) ctx.getBean("userservice");
12. us.saveUser();
13. }
14.}
[java] view plaincopy
01.package com.test;
02.
03.import org.springframework.context.ApplicationContext;
04.import org.springframework.context.support.ClassPathXmlApplicationContext;
05.
06.public class Test {
07.
08. public static void main(String[] args) {
09. ApplicationContext ctx = new ClassPathXmlApplicationContext(
10. "com/test/bean.xml");
11. IUserService us = (IUserService) ctx.getBean("userservice");
12. us.saveUser();
13. }
14.}
------------------------------------------------------------------
http://blog.csdn.net/eyeooo/article/details/7452997
分享到:
相关推荐
在Spring框架中,集合注入和自定义转换器是两个重要的概念,它们对于应用程序的灵活性和扩展性至关重要。这里,我们将深入探讨这两个主题,并通过实例代码来理解它们。 **集合注入** 集合注入允许我们在Spring配置...
Spring4对注入参数的支持更加完善,本章将深入探讨Spring4中的参数注入机制,包括基本类型注入、对象注入、集合类型注入以及如何通过注解实现这些功能。 一、基本类型注入 Spring4允许我们将基本数据类型(如int、...
综上所述,Spring集合属性是Spring框架中一个强大的特性,它允许我们灵活地配置和管理bean的集合类型属性,极大地提高了应用的可配置性和可扩展性。通过深入理解并熟练运用这个特性,我们可以更高效地构建和管理...
首先,我们来了解Spring支持的集合注入方式: 1. **基于XML的配置**: 在Spring的XML配置文件中,可以使用`<list>`, `<set>`, `<map>`和`<props>`元素来指定集合的元素。例如,要注入一个List,可以这样写: ```...
5. **属性注入**:除了基本类型的属性外,Spring还能处理复杂类型的属性注入,如集合(List、Set、Map等)、自定义对象等。对于集合,可以通过`@Resource`或`@Autowired`注解配合`@Value`来注入值,对于自定义对象,...
设值注入不仅限于字符串,还可以注入其他类型的值,如基本类型、集合、其他bean引用等。例如,你可以注入一个列表: ```xml <value>1 <value>2 <value>3 ``` 或者,使用SpEL(Spring Expression ...
2. **XML中的Map集合注入** 当我们需要注入一个Map时,Spring提供了特殊的`<map>`标签。不同于其他标签,`<entry>`子标签用于定义键值对: ```xml ``` 在这个例子中,`myBean`的`myMap`属性...
此外,Spring4还支持对集合类型的自动装配,如List、Set、Map等。 为了更好地实践这些概念,我们可以查看压缩包中的Spring0501文件,这可能包含了示例代码或教程资源。通过实际操作和调试,你可以更深入地理解和...
在Spring框架中,集合类型的装配是一项重要的功能,它允许我们把多个同类型的bean注入到一个集合对象中,如List、Set、Map等。这在处理依赖关系时非常有用,特别是当我们需要管理一组相似对象或者需要根据配置动态...
Spring的依赖注入不仅限于bean之间的关系,还可以用于注入集合类型,如List、Set、Map等,甚至可以处理复杂类型的依赖注入,如接口类型的多实现。 在`chapter8`这个文件夹中,可能包含了关于Spring依赖注入的深入...
9. `applicationContext.xml`: 这是Spring容器的主配置文件,用于定义Bean的实例化、依赖注入、bean之间的关系等。它是Spring应用上下文的基础,包含了所有业务对象和服务的配置。 通过这些配置文件的组合,我们...
对于更复杂的集合注入,比如Map类型,我们可以使用以下XML配置: ```xml ``` 在Java配置中,Map的注入方式类似,只是需要创建一个Map实例并填充键值对。 另外,Spring还提供了`@Indexed`注解,用于...
本教程将专注于Spring中的复杂类型注入,包括集合、自定义类以及接口实现的注入。 一、依赖注入的基本概念 依赖注入是Spring的核心特性之一,其基本思想是,一个对象不应该负责查找它的依赖,而应该由外部容器(如...
在本实战项目中,我们将深入探讨如何利用这些特性实现一个类似Spring框架的核心注入机制,即控制反转(Inversion of Control,简称IOC)。以下是关于这三个主题的详细讲解以及在Spring中的应用。 1. Java反射: ...
4. **集合类型的注入**:对于List、Set、Map等集合类型,Spring可以批量注入多个值。在XML配置中,你可以使用`<list>`、`<set>`或`<map>`标签来定义这些集合,并提供多个子元素。在Java配置中,可以使用`@Autowired`...
Spring开发文档集合是一个宝贵的资源,包含了关于Spring框架的多种学习材料。这个压缩包中的文档旨在帮助开发者深入理解和熟练使用Spring框架,它是一个广泛应用于Java企业级应用的开源框架。Spring以其依赖注入...
综上所述,"spring集合hibernate多数据切换"这个知识点涉及到Spring框架的IoC容器、AOP、事务管理,以及Hibernate的SessionFactory配置等多个方面。通过理解并实践这些内容,开发者能够构建出更灵活、可扩展的企业级...
本文档主要介绍了在Spring配置文件中如何进行各种类型的属性注入,包括基本类型、集合类型以及Bean之间的引用等。下面将逐一展开介绍每种注入方式的细节及其应用场景。 #### 基本类型属性注入 基本类型的属性注入...
这份"Spring学习资料集合"包含了丰富的文档资源,旨在帮助开发者深入理解和掌握Spring的核心概念与使用技巧。 首先,Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...
1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一是依赖注入,它使得组件间的耦合度大大降低。通过容器管理对象的生命周期和依赖关系,开发者可以更加专注于业务逻辑,而不是如何创建和管理对象...