`
ponlya
  • 浏览: 165525 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Spring3之 集合对象属性注入

阅读更多

com.spring305.test.beanInit.cpo.User.java

private int id;
private String name;
	
public User(){
	System.out.println(User.class);
}

 setter ,getter方法略去。

com.spring305.test.beanInit.cpo.CollectionPo.java

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class CollectionPo {
	private int id;
	private String name;
	private String[] testArray;
	private User[] useArray;
	private List testList;
	private Map testMap;
	private Set testSet;
	//对象
	private User user;
	//
	private Map<Integer, Float> maps ;
	
	
	public CollectionPo(){
		
	}
	
	public void test(){
		System.out.println(id+"_"+name);
		for (int i = 0; i < testArray.length; i++) {
			System.out.println("testArray "+testArray[i]);
		}
		
		for (int i = 0; i < useArray.length; i++) {
			System.out.println("useArray "+((User)useArray[i]).getName());
		}
		for (int i = 0; i < testList.size(); i++) {
			System.out.println("testList "+testList.get(i));
		}
		Iterator it = testMap.entrySet().iterator();
		//Iterator it2 = testMap.keySet().iterator();
		while (it.hasNext()) {
			System.out.println("testMap "+it.next());
			
		}
		Iterator it3 = testSet.iterator();
		//Iterator it2 = testMap.keySet().iterator();
		while (it3.hasNext()) {
			System.out.println("testSet "+it3.next());
			
		}
		System.out.println(user.getId()+"_"+user.getName() + " User");
		
		Iterator mapList = maps.entrySet().iterator();
		//Iterator it2 = testMap.keySet().iterator();
		while (mapList.hasNext()) {
			System.out.println("mapList "+mapList.next());
			
		}
		
	}
。。。getter,setter方法略去
}

 

com.spring305.test.beanInit.TestCollectionBeanInit.java

@Test
public void InitSingeBean() {
	ApplicationContext context =  new ClassPathXmlApplicationContext("testCollectionBeanInit.xml");
	CollectionPo collectionPo = (CollectionPo) context.getBean("collectionPo");
	collectionPo.test();
}

 src/testCollectionBeanInit.xml

<bean id="userBean" class="com.spring305.test.beanInit.cpo.User">
 <property name="id" value="123"></property>
 <property name="name" value="名字"></property>
</bean>
<!-- 
 <value/>这样就可以为string类型的设置null值 <null/>也行
 -->
<bean id="collectionPo" class="com.spring305.test.beanInit.cpo.CollectionPo">
 <property name="id"><value>123</value></property>
 <property name="name"><null/></property>
 <property name="testArray">
   <list>
     <value>Hello!1!</value>
             <value>Hello!2!</value>
             <value>Hello!3!</value>
   </list>
 </property>
 <property name="useArray">
   <list>
     <ref bean="userBean"/>
     <ref bean="userBean"/>
     <ref bean="userBean"/>
   </list>
 </property>
 <property name="testList">
   <list>
     <value>Hello!1!</value>
     <ref bean="userBean"/>
     <ref bean="userBean"/>
   </list>
 </property>
 <property name="testMap">
  <map>
  <!-- <entry key ="a ref" value-ref="userBean"/> -->
   <entry key="somekey1">
                    <ref bean="userBean"/>
                </entry>
   <entry key="somekey2">
                    <value>Hello!1!</value>
                </entry>
  </map>
 </property>
 <property name="testSet">
  <map>
   <entry key="somekey1">
                    <ref bean="userBean"/>
                </entry>
   <entry key="somekey2">
                    <value>Hello!1!</value>
                </entry>
                <!-- <entry key="somekey3" value="hello"/> -->
  </map>
 </property>
 <property name="user">
  <bean class="com.spring305.test.beanInit.cpo.User">
   <property name="id" value="123"></property>
  <property name="name"><null/></property>
  </bean>
 </property>
 <property name="maps">
   <props>
         <prop key="12">12.3</prop>
         <prop key="34">31.2</prop>
         <prop key="1">31.2</prop>
     </props>
     <!-- 
     
     <property name="maps">
           <map>
               <entry key="1" value="9.99"/>
               <entry key="2" value="2.75"/>
               <entry key="3" value="3.99"/>
           </map>
       </property>
      -->
 </property>
</bean>
<!--
xmlns:p="http://www.springframework.org/schema/p" p名称空间没有标准的XML格式定义灵活
 集合可以通过 parent="XX"  props merge="true" 来对集合合并
 
 -->
<!-- 
 <property name="user">
   <bean class="com.spring305.test.beanInit.cpo.User">
    <property name="id" value="123"></property>
    <property name="name" value="名字"></property>
   </bean>
  </property>
 -->
 <!--
 spring3文档中其它配置
  'c-namespace' declaration
 <bean id="foo" class="x.y.Foo" c:bar-ref="bar" c:baz-ref="baz" c:email="foo@bar.com">
  -->
 <!-- 'c-namespace' index declaration
 <bean id="foo" class="x.y.Foo" c:_0-ref="bar" c:_1-ref="baz">
 -->

 

分享到:
评论

相关推荐

    spring 普通属性注入

    在Spring框架中,属性注入是核心特性之一,它允许我们通过依赖注入(Dependency Injection, DI)来管理对象的属性,而不是让对象自行创建或查找它们的依赖。这有助于提高代码的可测试性、可维护性和解耦性。下面将...

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

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们通过配置文件或注解来设置Bean的属性值,从而实现对象的依赖管理。在本主题“day38 14-Spring的Bean的属性的注入:集合属性的注入”中,我们将深入探讨...

    Spring学习笔记之二“属性注入”

    在Spring框架中,属性注入是核心特性之一,它允许我们为bean对象动态地设置属性值,无需在代码中使用new关键字实例化对象并手动设置属性。这种依赖注入(Dependency Injection,DI)的设计模式大大增强了软件的可...

    spring各种属性的注入

    集合类型的属性注入也是Spring中非常重要的特性之一。它可以方便地处理数组、列表、集合和映射等类型的注入。具体包括: 1. **List** 类型注入: ```xml &lt;value&gt;list1 &lt;value&gt;list2 ``` 上面的示例将...

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

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

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

    在本章中,我们将深入探讨Spring框架的核心特性之一——自动装配和方法注入。Spring作为一款广泛应用的Java企业级开发框架,极大地简化了依赖管理,提高了代码的可测试性和可维护性。自动装配和方法注入是Spring实现...

    Springioc注入Demo

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

    day38 13-Spring的Bean的属性的注入:SpEL注入

    在Spring框架中,Bean的属性注入是其核心功能之一,使得我们可以轻松地管理对象的依赖关系,无需在代码中硬编码这些依赖。本篇将详细探讨Spring中的SpEL(Spring Expression Language)注入,这是一种强大的表达式...

    Spring中集合类型的装配

    在Spring框架中,集合类型的装配是一项重要的功能,它允许我们把多个同类型的bean注入到一个集合对象中,如List、Set、Map等。这在处理依赖关系时非常有用,特别是当我们需要管理一组相似对象或者需要根据配置动态...

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

    集合注入允许我们在Spring配置中将一组对象注入到单个bean属性中,这些对象通常以集合类型(如List、Set、Map等)存在。这样做的好处是可以方便地管理多个依赖项,而无需为每个依赖项创建单独的bean。 例如,假设...

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

    依赖注入是Spring的核心特性之一,其基本思想是,一个对象不应该负责查找它的依赖,而应该由外部容器(如Spring IoC容器)来管理这些依赖并注入到需要它们的对象中。这样可以使得对象之间的关系更加松散,降低了模块...

    spring 设值注入

    在Spring框架中,设值注入(Value Injection)是一种将外部属性值注入到bean对象中的方法。它是通过在bean的配置元数据中定义属性值来实现的,这些值会在bean实例化时自动设置。设值注入是Spring依赖注入...

    跟开涛学spring3

    《跟开涛学Spring3》是一本专注于Spring3框架学习的资源集合,旨在帮助开发者深入理解和熟练运用Spring框架的核心功能。Spring是Java企业级应用开发中的一个关键框架,它简化了配置、提供了依赖注入和面向切面编程等...

    第四章 Spring4 注入参数

    Spring4允许我们将基本数据类型(如int、String、boolean等)以及它们的包装类作为属性注入到Bean中。例如,我们可以在配置文件中使用`&lt;property&gt;`标签或者在Java配置类中使用`@Value`注解来指定值: ```xml 张三...

    spring-core3.2.5集合包

    3. **spring-expression**(SpEL):Spring 表达式语言,用于在运行时查询和操作对象图。 4. **spring-core**:核心工具类,包括反射、类型转换、异常处理等基础功能。 5. **spring-aop**:实现了 AOP 功能,包括...

    Spring中属性注入详解

    在Spring框架中,属性注入(Property Injection)是一种重要的依赖注入方式,它允许我们在不通过构造函数的情况下设置对象的属性值。这种方式使得代码更加灵活,降低了组件之间的耦合度。本篇将详细介绍如何在Spring...

    spring3全部jar包

    4. `spring-expression`: 提供了强大的表达式语言,用于运行时查询和操作对象属性。 5. `spring-web`: 包含Spring MVC和Web上下文的相关组件。 6. `spring-jdbc`: 提供了数据库访问的抽象层。 7. `spring-tx`: 事务...

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

    在Spring框架的学习中,"装配各种集合类型的属性"是一个重要的概念,这涉及到如何将不同的集合对象,如List、Set、Map等,与Spring的依赖注入(Dependency Injection, DI)机制相结合,实现灵活的配置和管理。...

    Spring (bean怎样注入值)学习实例

    在Spring框架中,Bean的注入是其核心特性之一,它允许开发者通过声明式的方式管理对象的依赖关系。本文将深入探讨如何在Spring中通过XML配置文件对Bean进行值的注入,包括List、Set和Map等集合类型的注入。 首先,...

    Spring框架是在2003年兴起的一门轻量级的JAVAEE框架技术 Spring框架学习资料第一天

    * 注入是指Spring工厂在创建对象的同时可以给对象的属性注入值(赋值) * Spring中的注入方式:set注入、构造注入、自动注入 * set注入实现 1. 给JDK的8种基本数据类型和字符串类型注入 2. 给list集合泛型是基本...

Global site tag (gtag.js) - Google Analytics