`

Spring装配各种集合类型的配置文件

 
阅读更多
// 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如何装配各种集合类型的属性

    在Spring的XML配置文件中,我们可以使用`&lt;list&gt;`、`&lt;set&gt;`、`&lt;map&gt;`和`&lt;props&gt;`标签来装配集合类型的属性。例如,假设我们有一个`User`类,它包含一个`List&lt;User&gt;`类型的`friends`属性: ```xml ...

    Spring学习笔记(7)----装配各种集合类型的属性

    1. **基于XML的配置**:在Spring的XML配置文件中,我们可以使用`&lt;list&gt;`、`&lt;set&gt;`、`&lt;map&gt;`等标签来声明集合类型,并通过`&lt;bean&gt;`标签的子元素来指定每个集合项的实例。例如,创建一个List集合,可以这样写: ```...

    Spring中集合类型的装配

    首先,Spring支持通过XML配置文件进行集合类型的装配。在XML配置中,我们可以使用`&lt;list&gt;`、`&lt;set&gt;`、`&lt;map&gt;`和`&lt;props&gt;`标签来定义不同的集合类型。例如,如果我们要注入一个包含多个bean的List,可以这样写: ```...

    Spring对集合的装配(各种集合类型的属性的注入方式)

    本篇文章将深入探讨Spring如何处理各种集合类型的属性注入。 首先,我们来了解Spring支持的集合注入方式: 1. **基于XML的配置**: 在Spring的XML配置文件中,可以使用`&lt;list&gt;`, `&lt;set&gt;`, `&lt;map&gt;`和`&lt;props&gt;`元素...

    Spring_集合(List_Map_Set)_自动装配

    集合自动装配是指Spring框架自动填充List、Map或Set类型的属性,根据配置文件中的bean定义,将相应的bean实例注入到这些集合中。这种方式减少了手动创建和管理对象的复杂性,提高了代码的可维护性和可测试性。 三、...

    spring+struts+ibatis用到的配置文件模板

    Spring作为依赖注入(DI)和面向切面编程(AOP)的核心容器,其配置文件主要负责管理Bean的定义和装配。在`spring.xml`中,我们可以看到如下的配置元素: 1. `&lt;bean&gt;`:定义一个Java对象,即Bean。包括Bean的ID、...

    Spring配置文件

    在Spring中,配置文件起着至关重要的作用,它们定义了应用程序的组件、依赖关系以及如何装配这些组件。本篇文章将深入探讨Spring配置文件的核心概念、结构以及应用场景。 **一、Spring配置文件的基本概念** Spring...

    第五章 Spring4 自动装配、方法注入

    此外,Spring4还支持对集合类型的自动装配,如List、Set、Map等。 为了更好地实践这些概念,我们可以查看压缩包中的Spring0501文件,这可能包含了示例代码或教程资源。通过实际操作和调试,你可以更深入地理解和...

    Spring项目的xsd文件大全

    XSD(XML Schema Definition)文件在Spring框架中起着至关重要的作用,它们定义了Spring配置文件的结构和规则。下面将详细阐述Spring项目中涉及的XSD文件及其在Springmvc、SpringBoot和SpringCloud项目中的应用。 ...

    Spring系列面试题129道(附答案解析)

    Spring配置文件是XML格式的文件,用于定义对象及其依赖关系,通过配置文件,Spring IoC容器可以管理这些对象的生命周期。 7、Spring应用程序有哪些不同组件? Spring应用程序的组件主要包括: - Beans:在Spring ...

    模拟Spring的IoC容器实现注解自动装配

    - **初始化**:加载bean定义,这可能涉及读取XML配置文件、Java配置类或扫描指定的包寻找带有特定注解的类。 - **bean创建**:根据bean定义创建bean实例,处理工厂方法、构造器等。 - **依赖注入**:在bean实例化后...

    Spring xml 方式配制的小demo

    本篇文章主要讲解Spring框架中的XML配置方式,帮助开发者理解如何通过XML配置文件来管理Bean的生命周期和装配。 1. **Spring XML配置基础** Spring框架的配置文件通常以`applicationContext.xml`命名,这是Spring...

    spring笔记

    Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流的第三方框架...

    spring famework xml配置使用示例

    通过这个"spring framework xml配置使用示例",你可以学习到如何使用XML配置文件来设置Spring环境,管理Bean,以及处理Bean之间的依赖关系。在实际开发中,虽然现在的趋势是使用Java配置和注解,但理解XML配置仍然是...

    Spring - -setter方式 向bean中注入各种类型的值

    这篇博客可能详细介绍了如何使用setter注入向bean中注入各种类型的值,如基本类型、字符串、其他bean、集合类型等。 1. **基本类型的注入**:对于Java的基本数据类型,如int、String等,Spring可以通过setter方法...

    尚学堂_Spring_0700_IOC_Collections

    在这个教程或博文中,我们可能将深入理解Spring如何管理和装配集合对象,如List、Set、Map等。这在实际开发中非常重要,因为集合经常被用来存储和处理一组相关的对象。 Spring IoC容器是Spring框架的核心部分,它...

    Spring的学习笔记

    2. **配置文件**:创建一个名为`applicationContext.xml`的配置文件,它是Spring的核心配置文件。 3. **引入jar包**:添加Spring的核心库和其他必要的依赖,例如Spring的IoC、AOP模块。 4. **测试代码**:编写测试类...

    Spring的Bean配置说明

    - **功能概述**:`&lt;beans&gt;`是Spring配置文件的根元素,用来包含一个或多个`&lt;bean&gt;`元素,用于定义Spring容器管理的各种Bean。 #### 二、`&lt;bean&gt;`元素详解 - **基础配置**: - **`class`属性**:表示JavaBean的全...

    SPRING面试宝典

    Spring配置文件是用于定义Spring容器中Bean的配置元数据的文件,通常使用XML或Java配置。通过这些文件,可以定义Bean的生命周期、依赖关系等。 **1.13 什么是Spring IoC容器?** IoC(Inversion of Control,控制...

    spring_精简教程

    2. **定义`applicationContext.xml`配置文件**:这是一个XML文件,用于定义Spring容器中的各种Bean及其配置。其中的`schema`版本需与导入的JAR包版本保持一致,以确保正确解析。 3. **`bean`元素的定义**: - **id...

Global site tag (gtag.js) - Google Analytics