`

spring 注入集合

 
阅读更多

List集合

1.创建ListTestBean类:

package com.spring.pojo;
import java.util.List;
//注入List类型
public class ListTestBean {
	private List<String> values;
	public List<String> getValues() {
		return values;
	}
	public void setValues(List<String> values) {
		this.values = values;
	}
	@Override
	public String toString() {
		return "ListTestBean [values=" + values + "]";
	}
}

2.创建配置spring-listInject.xml文件:

<?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.xsd">
<bean id="listBean" class="com.spring.pojo.ListTestBean">
<!-- List类型需要<list>标签来配置注入  -->
<property name="values">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
</bean>
</beans>

3.创建ListInjectTest测试类:

package com.spring.test;
import junit.framework.Assert;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.pojo.ListTestBean;
@SuppressWarnings("deprecation")
public class ListInjectTest {
@Test
public void testListInject(){
	@SuppressWarnings("resource")
	ApplicationContext act=new ClassPathXmlApplicationContext("spring-listInject.xml");
	ListTestBean listBean=act.getBean(ListTestBean.class);
    System.out.println(listBean.toString());
    System.out.println(listBean.getValues().size());
    Assert.assertEquals(3, listBean.getValues().size());
}
}

 4.测试结果:

ListTestBean [values=[1, 2, 3]]
3

 Set集合

1.创建CollectionTestBean类:

package com.spring.pojo;
import java.util.Collection;
//Set类型
public class CollectionTestBean {
private Collection<String> values;
public Collection<String> getValues() {
	return values;
}
public void setValues(Collection<String> values) {
	this.values = values;
}
@Override
public String toString() {
	return "CollectionTestBean [values=" + values + "]";
}
}

2.创建配置spring-setInject.xml文件:

 

<?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.xsd">
<!-- Set类型 需要<set>标签来配置注入 -->
<bean id="setBean" class="com.spring.pojo.CollectionTestBean">
<property name="values">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
</set>
</property>
</bean>
</beans>

 3.创建SetInject测试类:

package com.spring.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.pojo.CollectionTestBean;
public class SetInject {
	@Test
	public void setInject(){
		ApplicationContext act=new ClassPathXmlApplicationContext("spring-SetInject.xml");
		CollectionTestBean setInject=	act.getBean("setBean",CollectionTestBean.class);
	 System.out.println(setInject.toString());
	 System.out.println(setInject.getValues().size());
	}
}

 4.输出结果:

CollectionTestBean [values=[1, 2, 3]]
3

因为Collection类型是Set和List类型的基类型,所以使用<set>或<list>标签都可以进行注入,配置方式完全和以上配置方式一样,只是将测试类属性改成“Collection”类型

 

分享到:
评论

相关推荐

    Wasabi1234#Java-Interview-Tutorial#Spring 注入集合类型1

    1.1 收集方式 1.2 直接装配方式 2.1 收集装配 2.2 直接装配方式

    Spring中集合类型的装配

    我们可以使用`@Autowired`注解配合`@Qualifier`来注入集合。例如: ```java @Autowired private List&lt;MyService&gt; services; @Service("service1") public class MyServiceImpl1 implements MyService {} @Service...

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

    使用Java注解时,我们可以利用`@Value`或`@Autowired`来注入集合。例如,使用`@Value`注入List: ```java @Component public class MyBean { @Value({ "element1", "element2" }) private List&lt;String&gt; myList...

    Spring.zip

    2. **Spring注入集合和数组**:除了基本类型,Spring还支持注入集合类型,如List、Set、Map等,以及数组。这允许我们向Bean注入一组相关的对象,方便处理多对一或一对多的关系。例如,通过`&lt;list&gt;`、`&lt;set&gt;`、`&lt;map&gt;...

    spring-集合注入、自定义转换器

    在Spring框架中,集合注入和自定义转换器是两个重要的概念,它们对于应用程序的灵活性和扩展性至关重要。这里,我们将深入探讨这两个主题,并通过实例代码来理解它们。 **集合注入** 集合注入允许我们在Spring配置...

    spring集合属性

    在Java配置中,我们可以使用`@Value`注解或`@Autowired`配合`@Qualifier`注解来注入集合属性,例如: ```java @Configuration public class AppConfig { @Bean public ExampleBean exampleBean() { ExampleBean...

    第四章 Spring4 注入参数

    Spring4对注入参数的支持更加完善,本章将深入探讨Spring4中的参数注入机制,包括基本类型注入、对象注入、集合类型注入以及如何通过注解实现这些功能。 一、基本类型注入 Spring4允许我们将基本数据类型(如int、...

    spring framework 3 教程

    #### 第十三章:Spring注入集合 - **注入集合类型:** - 可以将List、Set、Map等集合类型注入到Bean中。 #### 第十四章:Spring Bean自动注入 - **自动装配模式:** - 包括按名称、按类型等方式自动匹配和注入...

    Spring配置文件集合

    9. `applicationContext.xml`: 这是Spring容器的主配置文件,用于定义Bean的实例化、依赖注入、bean之间的关系等。它是Spring应用上下文的基础,包含了所有业务对象和服务的配置。 通过这些配置文件的组合,我们...

    spring 设值注入

    设值注入不仅限于字符串,还可以注入其他类型的值,如基本类型、集合、其他bean引用等。例如,你可以注入一个列表: ```xml &lt;value&gt;1 &lt;value&gt;2 &lt;value&gt;3 ``` 或者,使用SpEL(Spring Expression ...

    day38 14-Spring的Bean的属性的注入:集合属性的注入

    在本主题“day38 14-Spring的Bean的属性的注入:集合属性的注入”中,我们将深入探讨如何向Bean注入集合类型的属性,如List、Set、Map等。这在实际开发中非常常见,因为很多情况下我们需要处理一组相关的数据。 ...

    spring 普通属性注入

    2. **XML中的Map集合注入** 当我们需要注入一个Map时,Spring提供了特殊的`&lt;map&gt;`标签。不同于其他标签,`&lt;entry&gt;`子标签用于定义键值对: ```xml ``` 在这个例子中,`myBean`的`myMap`属性...

    Springioc注入Demo

    5. **属性注入**:除了基本类型的属性外,Spring还能处理复杂类型的属性注入,如集合(List、Set、Map等)、自定义对象等。对于集合,可以通过`@Resource`或`@Autowired`注解配合`@Value`来注入值,对于自定义对象,...

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

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

    spring开发文档集合

    Spring开发文档集合是一个宝贵的资源,包含了关于Spring框架的多种学习材料。这个压缩包中的文档旨在帮助开发者深入理解和熟练使用Spring框架,它是一个广泛应用于Java企业级应用的开源框架。Spring以其依赖注入...

    Spring学习资料集合

    这份"Spring学习资料集合"包含了丰富的文档资源,旨在帮助开发者深入理解和掌握Spring的核心概念与使用技巧。 首先,Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...

    java Spring DI依赖注入.rar

    Spring的依赖注入不仅限于bean之间的关系,还可以用于注入集合类型,如List、Set、Map等,甚至可以处理复杂类型的依赖注入,如接口类型的多实现。 在`chapter8`这个文件夹中,可能包含了关于Spring依赖注入的深入...

    Spring_Spring_教程8_注入_复杂类型的注入

    本教程将专注于Spring中的复杂类型注入,包括集合、自定义类以及接口实现的注入。 一、依赖注入的基本概念 依赖注入是Spring的核心特性之一,其基本思想是,一个对象不应该负责查找它的依赖,而应该由外部容器(如...

    spring-framework-4.3.0 jar包集合

    1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一是依赖注入,它使得组件间的耦合度大大降低。通过容器管理对象的生命周期和依赖关系,开发者可以更加专注于业务逻辑,而不是如何创建和管理对象...

Global site tag (gtag.js) - Google Analytics