// List <bean id="userService" class="com.spring.service.UserService"> <property name="list"> <list> <value>aaaa</value> <value>bbbb</value> </list> </property> </bean> //set <bean id="userService" class="com.spring.service.UserService"> <property name="set"> <set> <value>cccc</value> <value>dddd</value> </set> </property> </bean> //map <bean id="userService" class="com.spring.service.UserService"> <property name="map"> <map> <entry key="1111" value="aaaa"/> <entry key="2222" value="bbbb"/> </map> </property> </bean> //properties <bean id="userService" class="com.spring.service.UserService"> <property name="pro"> <props> <prop key="1111">aaaa</prop> <prop key="2222">cccc</prop> </props> </property> </bean>
具体实例
public class Chinese implements Person{ //下面是一系列的集合属性 private List<String> schools; private Map scores; private Map<String, Axe> phaseAxes; private Properties health; private Set axe; private String[] books; public List<String> getSchools() { return schools; } public void setSchools(List<String> schools) { this.schools = schools; } public Map getScores() { return scores; } public void setScores(Map scores) { this.scores = scores; } public Map<String, String> getPhaseAxes() { return phaseAxes; } public void setPhaseAxes(Map<String, String> phaseAxes) { this.phaseAxes = phaseAxes; } public Properties getHealth() { return health; } public void setHealth(Properties health) { this.health = health; } public Set getAxe() { return axe; } public void setAxe(Set axe) { this.axe = axe; } public String[] getBooks() { return books; } public void setBooks(String[] books) { this.books = books; } public void useAxe() { } }
上面的java代码中有数组、list、set、,map、Properties。下面是针对上面的配置文件。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 定义一个普通的Axe Bean --> <bean id="steelAxe" class="com.spring.service.impl.SteelAxe" /> <bean id="stoneAxe" class="com.spring.service.impl.StoneAxe" /> <!--定义Chinese Bean --> <bean id="chinese" class="com.spring.service.impl.Chinese"> <property name="schools"> <list> <value>小学</value> <value>中学</value> <value>大学</value> </list> </property> <property name="scores"> <map> <entry key="语文" value="88" /> <entry key="数学" value="87" /> <entry key="外语" value="88" /> </map> </property> <property name="phaseAxes"> <map> <entry key="原始社会" value-ref="stoneAxe" /> <entry key="农业社会" value-ref="steelAxe" /> </map> </property> <property name="health"> <props> <prop key="血压">正常</prop> <prop key="身高">175</prop> </props> </property> <property name="axe"> <set> <value>普通字符串</value> <bean class="com.spring.service.impl.SteelAxe"></bean> <ref local="stoneAxe"/> </set> </property> <property name="books"> <list> <value>java 编程思想</value> <value>思考致富</value> <value>将才</value> </list> </property> </bean> </beans>
从上面的配置文件中可以看出,Spring对list属性和数组属性的处理是一样的。
当我们使用<list.../>、<set.../>、<map.../>等元素配置集合属性时,我们还需要手动配置集合元素。由于集合元素又可以是基本类型值、引用容器中的其他Bean、嵌套Bean和集合属性等。所以这些元素又可以接受如下子元素:
value:指定集合元素是基本数据类型或者字符类型值。
ref:指定集合元素是容器中另一个Bean实例。
bean:指定集合元素是一个嵌套Bean。
list、set、map、props:指定集合元素值又是集合。
相关推荐
在Spring的XML配置文件中,我们可以使用`<list>`、`<set>`、`<map>`和`<props>`标签来装配集合类型的属性。例如,假设我们有一个`User`类,它包含一个`List<User>`类型的`friends`属性: ```xml ...
1. **基于XML的配置**:在Spring的XML配置文件中,我们可以使用`<list>`、`<set>`、`<map>`等标签来声明集合类型,并通过`<bean>`标签的子元素来指定每个集合项的实例。例如,创建一个List集合,可以这样写: ```...
首先,Spring支持通过XML配置文件进行集合类型的装配。在XML配置中,我们可以使用`<list>`、`<set>`、`<map>`和`<props>`标签来定义不同的集合类型。例如,如果我们要注入一个包含多个bean的List,可以这样写: ```...
本篇文章将深入探讨Spring如何处理各种集合类型的属性注入。 首先,我们来了解Spring支持的集合注入方式: 1. **基于XML的配置**: 在Spring的XML配置文件中,可以使用`<list>`, `<set>`, `<map>`和`<props>`元素...
集合自动装配是指Spring框架自动填充List、Map或Set类型的属性,根据配置文件中的bean定义,将相应的bean实例注入到这些集合中。这种方式减少了手动创建和管理对象的复杂性,提高了代码的可维护性和可测试性。 三、...
Spring作为依赖注入(DI)和面向切面编程(AOP)的核心容器,其配置文件主要负责管理Bean的定义和装配。在`spring.xml`中,我们可以看到如下的配置元素: 1. `<bean>`:定义一个Java对象,即Bean。包括Bean的ID、...
在Spring中,配置文件起着至关重要的作用,它们定义了应用程序的组件、依赖关系以及如何装配这些组件。本篇文章将深入探讨Spring配置文件的核心概念、结构以及应用场景。 **一、Spring配置文件的基本概念** Spring...
此外,Spring4还支持对集合类型的自动装配,如List、Set、Map等。 为了更好地实践这些概念,我们可以查看压缩包中的Spring0501文件,这可能包含了示例代码或教程资源。通过实际操作和调试,你可以更深入地理解和...
XSD(XML Schema Definition)文件在Spring框架中起着至关重要的作用,它们定义了Spring配置文件的结构和规则。下面将详细阐述Spring项目中涉及的XSD文件及其在Springmvc、SpringBoot和SpringCloud项目中的应用。 ...
Spring配置文件是XML格式的文件,用于定义对象及其依赖关系,通过配置文件,Spring IoC容器可以管理这些对象的生命周期。 7、Spring应用程序有哪些不同组件? Spring应用程序的组件主要包括: - Beans:在Spring ...
- **初始化**:加载bean定义,这可能涉及读取XML配置文件、Java配置类或扫描指定的包寻找带有特定注解的类。 - **bean创建**:根据bean定义创建bean实例,处理工厂方法、构造器等。 - **依赖注入**:在bean实例化后...
本篇文章主要讲解Spring框架中的XML配置方式,帮助开发者理解如何通过XML配置文件来管理Bean的生命周期和装配。 1. **Spring XML配置基础** Spring框架的配置文件通常以`applicationContext.xml`命名,这是Spring...
Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流的第三方框架...
通过这个"spring framework xml配置使用示例",你可以学习到如何使用XML配置文件来设置Spring环境,管理Bean,以及处理Bean之间的依赖关系。在实际开发中,虽然现在的趋势是使用Java配置和注解,但理解XML配置仍然是...
这篇博客可能详细介绍了如何使用setter注入向bean中注入各种类型的值,如基本类型、字符串、其他bean、集合类型等。 1. **基本类型的注入**:对于Java的基本数据类型,如int、String等,Spring可以通过setter方法...
在这个教程或博文中,我们可能将深入理解Spring如何管理和装配集合对象,如List、Set、Map等。这在实际开发中非常重要,因为集合经常被用来存储和处理一组相关的对象。 Spring IoC容器是Spring框架的核心部分,它...
2. **配置文件**:创建一个名为`applicationContext.xml`的配置文件,它是Spring的核心配置文件。 3. **引入jar包**:添加Spring的核心库和其他必要的依赖,例如Spring的IoC、AOP模块。 4. **测试代码**:编写测试类...
- **功能概述**:`<beans>`是Spring配置文件的根元素,用来包含一个或多个`<bean>`元素,用于定义Spring容器管理的各种Bean。 #### 二、`<bean>`元素详解 - **基础配置**: - **`class`属性**:表示JavaBean的全...
Spring配置文件是用于定义Spring容器中Bean的配置元数据的文件,通常使用XML或Java配置。通过这些文件,可以定义Bean的生命周期、依赖关系等。 **1.13 什么是Spring IoC容器?** IoC(Inversion of Control,控制...
2. **定义`applicationContext.xml`配置文件**:这是一个XML文件,用于定义Spring容器中的各种Bean及其配置。其中的`schema`版本需与导入的JAR包版本保持一致,以确保正确解析。 3. **`bean`元素的定义**: - **id...