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”类型
相关推荐
1.1 收集方式 1.2 直接装配方式 2.1 收集装配 2.2 直接装配方式
我们可以使用`@Autowired`注解配合`@Qualifier`来注入集合。例如: ```java @Autowired private List<MyService> services; @Service("service1") public class MyServiceImpl1 implements MyService {} @Service...
使用Java注解时,我们可以利用`@Value`或`@Autowired`来注入集合。例如,使用`@Value`注入List: ```java @Component public class MyBean { @Value({ "element1", "element2" }) private List<String> myList...
2. **Spring注入集合和数组**:除了基本类型,Spring还支持注入集合类型,如List、Set、Map等,以及数组。这允许我们向Bean注入一组相关的对象,方便处理多对一或一对多的关系。例如,通过`<list>`、`<set>`、`<map>...
在Spring框架中,集合注入和自定义转换器是两个重要的概念,它们对于应用程序的灵活性和扩展性至关重要。这里,我们将深入探讨这两个主题,并通过实例代码来理解它们。 **集合注入** 集合注入允许我们在Spring配置...
在Java配置中,我们可以使用`@Value`注解或`@Autowired`配合`@Qualifier`注解来注入集合属性,例如: ```java @Configuration public class AppConfig { @Bean public ExampleBean exampleBean() { ExampleBean...
Spring4对注入参数的支持更加完善,本章将深入探讨Spring4中的参数注入机制,包括基本类型注入、对象注入、集合类型注入以及如何通过注解实现这些功能。 一、基本类型注入 Spring4允许我们将基本数据类型(如int、...
#### 第十三章:Spring注入集合 - **注入集合类型:** - 可以将List、Set、Map等集合类型注入到Bean中。 #### 第十四章:Spring Bean自动注入 - **自动装配模式:** - 包括按名称、按类型等方式自动匹配和注入...
9. `applicationContext.xml`: 这是Spring容器的主配置文件,用于定义Bean的实例化、依赖注入、bean之间的关系等。它是Spring应用上下文的基础,包含了所有业务对象和服务的配置。 通过这些配置文件的组合,我们...
设值注入不仅限于字符串,还可以注入其他类型的值,如基本类型、集合、其他bean引用等。例如,你可以注入一个列表: ```xml <value>1 <value>2 <value>3 ``` 或者,使用SpEL(Spring Expression ...
在本主题“day38 14-Spring的Bean的属性的注入:集合属性的注入”中,我们将深入探讨如何向Bean注入集合类型的属性,如List、Set、Map等。这在实际开发中非常常见,因为很多情况下我们需要处理一组相关的数据。 ...
2. **XML中的Map集合注入** 当我们需要注入一个Map时,Spring提供了特殊的`<map>`标签。不同于其他标签,`<entry>`子标签用于定义键值对: ```xml ``` 在这个例子中,`myBean`的`myMap`属性...
5. **属性注入**:除了基本类型的属性外,Spring还能处理复杂类型的属性注入,如集合(List、Set、Map等)、自定义对象等。对于集合,可以通过`@Resource`或`@Autowired`注解配合`@Value`来注入值,对于自定义对象,...
此外,Spring4还支持对集合类型的自动装配,如List、Set、Map等。 为了更好地实践这些概念,我们可以查看压缩包中的Spring0501文件,这可能包含了示例代码或教程资源。通过实际操作和调试,你可以更深入地理解和...
Spring开发文档集合是一个宝贵的资源,包含了关于Spring框架的多种学习材料。这个压缩包中的文档旨在帮助开发者深入理解和熟练使用Spring框架,它是一个广泛应用于Java企业级应用的开源框架。Spring以其依赖注入...
这份"Spring学习资料集合"包含了丰富的文档资源,旨在帮助开发者深入理解和掌握Spring的核心概念与使用技巧。 首先,Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...
Spring的依赖注入不仅限于bean之间的关系,还可以用于注入集合类型,如List、Set、Map等,甚至可以处理复杂类型的依赖注入,如接口类型的多实现。 在`chapter8`这个文件夹中,可能包含了关于Spring依赖注入的深入...
本教程将专注于Spring中的复杂类型注入,包括集合、自定义类以及接口实现的注入。 一、依赖注入的基本概念 依赖注入是Spring的核心特性之一,其基本思想是,一个对象不应该负责查找它的依赖,而应该由外部容器(如...
1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一是依赖注入,它使得组件间的耦合度大大降低。通过容器管理对象的生命周期和依赖关系,开发者可以更加专注于业务逻辑,而不是如何创建和管理对象...