定义接口:
package Bean.collections;
public interface Person {
public void useAxe();
}
package Bean.collections;
public interface Axe {
public String chop();
}
定义实现类:
package Bean.collections;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import Bean.collections.Person;
public class Chinese implements Person {
private List schools = new ArrayList();
private Map scores = new HashMap();
private Properties health = new Properties();
private Set axes = new HashSet();
public Set getAxes() {
return axes;
}
public void setAxes(Set axes) {
this.axes = axes;
}
public Properties getHealth() {
return health;
}
public void setHealth(Properties health) {
this.health = health;
}
public List getSchools() {
return schools;
}
public void setSchools(List schools) {
this.schools = schools;
}
public Map getScores() {
return scores;
}
public void setScores(Map scores) {
this.scores = scores;
}
public void useAxe() {
System.out.println("List --> " + schools);
System.out.println("Map --> " + scores);
System.out.println("Properties --> " + axes);
System.out.println("Set --> " + health);
}
}
package Bean.collections;
public class WoodAxe implements Axe {
public WoodAxe(String arg)
{
System.out.println("收到:"+arg);
}
public String chop() {
return "这是一把木头斧子";
}
public String toString() {
// TODO Auto-generated method stub
return "重写toString";
}
}
package Bean.collections;
public class SteelAxe implements Axe {
public String chop() {
return "这是一把铁斧子";
}
public String toString(){
return "重写toString";
}
}
Spring配置文件:
<?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-2.5.xsd">
<bean id="chinese" class="Bean.collections.Chinese">
<property name="schools">
<list>
<value>小学</value>
<value>中学</value>
<value>大学</value>
</list>
</property>
<property name="health">
<props>
<prop key="血压">正常</prop>
<prop key="身高">178</prop>
</props>
</property>
<property name="scores">
<map>
<entry key="数学">
<value>88</value>
</entry>
<entry key="语文">
<value>99</value>
</entry>
</map>
</property>
<property name="axes">
<set>
<value>字符串斧子</value>
<!-- 用嵌套bean定义属性 -->
<bean class="Bean.collections.WoodAxe" >
<constructor-arg index="0">
<value>Hello,Spring!</value>
</constructor-arg>
</bean>
<!-- 引用bean作为属性 -->
<ref local="steelaxe" />
</set>
</property>
</bean>
<bean id="steelaxe" class="Bean.collections.SteelAxe"></bean>
</beans>
运行结果:
收到:Hello,Spring!
List --> [小学, 中学, 大学]
Map --> {数学=88, 语文=99}
Properties --> [字符串斧子, 重写toString, 重写toString]
Set --> {血压=正常, 身高=178}
分享到:
相关推荐
在本主题“day38 14-Spring的Bean的属性的注入:集合属性的注入”中,我们将深入探讨如何向Bean注入集合类型的属性,如List、Set、Map等。这在实际开发中非常常见,因为很多情况下我们需要处理一组相关的数据。 ...
6. **List与Set注入**:对于List或Set,可以使用`<list>`或`<set>`元素。例如,注入一个包含两个Bean的List: ```xml <list> </list> ``` 7. **Property注入**:对于复杂类型,如Properties,可以...
对于集合类型的属性,如List、Set、Map等,Spring也提供了相应的注入方式。在XML配置中,可以通过`<list>`、`<set>`、`<map>`等标签实现;在注解方式中,可以使用`@Autowired`配合`@Resource`注解的`mapKey`或`list...
在Spring框架中,集合配置是将Java集合对象如List、Set、Map等与Spring的IoC容器紧密结合的关键特性。在Spring 2.0版本中,这个功能已经相当成熟且广泛使用,使得开发者能够方便地管理和注入这些集合类型的依赖。本...
- 集合类型(List、Set、Map、Properties):通过`<list/>`、`<set/>`、`<map/>`、`<props/>`元素注入。 7. 创建Bean实例的方法: - 通过构造器(有参或无参)。 - 通过静态工厂方法。 - 通过实例工厂方法。 8...
Spring 提供了多种方式来实现集合属性注入,包括 List、Set、Map、Properties 等。 * List属性注入 List属性注入是指将List类型的属性注入到Bean实例中。例如: ```xml <bean id="car" class="nwtxxb.di.Car"> ...
本篇将详细讲解标题"springDay1"所涵盖的几个核心知识点:Spring的构造参数注入、set方法注入、类对象属性注入以及数组、List、Map、Properties对象的依赖注入。 首先,让我们来看看构造参数注入。当一个类的实例化...
Spring实战之注入集合值操作示例 在 Spring 框架中,集合值操作是指如何将集合类型的数据注入...在本文中,我们介绍了如何使用 Spring 来实现集合值操作,包括 List、Map、Set 和 Properties 等集合类型的配置和使用。
Spring提供了多种方式来配置这些集合,如`<list>`、`<set>`、`<map>`和`<props>`元素。例如,你可以这样配置一个包含多个bean的列表:`<list><ref bean="bean1"/><ref bean="bean2"/></list>`。 Properties属性处理...
- **集合类型注入**:如List、Set、Map、Properties等,可以在XML配置中使用对应的标签(`<list>`、`<set>`、`<map>`、`<props>`)进行注入,提供多个值或引用其他Bean。 - **引用其他Bean**:通过`ref`属性,可以...
8. **spring_0500_IOC_collection**:这可能涉及如何在XML配置中声明和注入集合类型的属性,如List、Set、Map等,以满足复杂对象间的关系。 9. **spring_1300_hibernate**:这个文件可能包含了与Hibernate相关的...
- **其他注入形式:** 常量注入、Bean 注入、数组注入、List 注入、Map 注入、Set 注入、null 注入、Properties 注入、p 命名空间注入和 c 命名空间注入。 **4. Bean 的作用域:** - **Singleton:** 默认作用域...
此外,Spring还支持集合类型的注入,如Set、List、Map和Properties等,使得配置更加灵活多样。 ### 结论 Spring框架通过控制反转和依赖注入等核心机制,实现了软件组件的松耦合,提升了代码的可读性、可测试性和可...
- Spring Core Container:包含了Spring框架的基本组成部分,如IoC容器和依赖注入功能。 - Spring AOP:为面向切面的编程提供支持,允许定义方法拦截器和切点,以分离应用的业务逻辑。 - Spring MVC:提供了构建Web...
对于复杂的依赖注入,Spring还支持集合类型的数据注入,如List、Map、Properties和Set。 自动装配(autowire)是Spring提供的一种简化依赖注入的方式,分为byType和byname两种模式。byType会根据类型匹配Bean进行...
4. **集合属性注入**:可以为集合类型(如List, Set, Map等)的属性注入多个值。例如: ```xml <property name="listProperty"> <list> <value>value1 <value>value2 </list> ``` 5. **ByName和ByType注入...
Spring支持注入List、Set、Map等Java集合类型,可以通过value或ref属性指定元素。 【注入Java.util.Properties】 Spring允许注入Properties对象,通常用于读取配置文件。 【自动装配】 Spring的自动装配功能可以...
这里,`myBean`类的属性`myList`、`mySet`、`myMap`和`myProps`分别被注入了List、Set、Map和Properties类型的集合。 Spring还支持通过引用其他bean来填充集合,这在处理复杂依赖时非常有用: ```xml <list...
- **Set方法注入**:最常用的方式之一,通过setter方法将属性值注入。 - **构造器注入**:在构造器中完成依赖注入。 - **接口注入**:通过实现特定接口进行注入,但在Spring中较少使用。 - **复杂类型属性注入**...
Spring支持多种类型的集合注入,包括`List`, `Set`, `Map`以及`Properties`。这些集合类型的注入极大地提高了代码的可维护性和灵活性。 首先,我们来看如何通过`value`属性和`<property>`标签的`ref`属性来注入单个...