spring 中容器 map、set、list、property 的 bean 实例化

参考:http://www.kaifajie.cn/spring/9966.html

<bean id="fieldMap" class="org.springframework.beans.factory.config.MapFactoryBean">
     <property name="sourceMap">
          <map>
               <entry key="title" value-ref="obj"></entry>
               <entry key="reserve_price" value-ref="double"></entry>
               <entry key="auction_status" value-ref="obj"></entry>
               <entry key="quantity" value-ref="obj"></entry>
               <entry key="options" value-ref="obj"></entry>
               <entry key="spu_id" value-ref="obj"></entry>
               <entry key="sold_quantity" value-ref="obj"></entry>
               <entry key="features" value-ref="obj"></entry>
               <entry key="category" value-ref="obj"></entry>
               <entry key="user_id" value-ref="obj"></entry>
               <entry key="auction_id" value-ref="obj"></entry>
               <entry key="gmt_modified" value-ref="date"></entry>
               <entry key="pict_url" value-ref="obj"></entry>
               <entry key="sync_version" value-ref="obj"></entry>
          </map>
     </property>
</bean>
<bean id="date" class="java.lang.Class" factory-method="forName">
     <constructor-arg value="java.util.Date"/>
</bean>
<bean id="double" class="java.lang.Class" factory-method="forName">
     <constructor-arg value="java.lang.Double"/>
</bean>
<bean id="obj" class="java.lang.Class" factory-method="forName">
     <constructor-arg value="java.lang.Object"/>
</bean> 

其它容器:http://www.blogjava.net/amigoxie/archive/2007/02/16/100049.html
< beans > 

  < bean  id ="chinese"  class ="Chinese" >
  < property  name ="friends" >
             < list >
                 < value > 张三 </ value >
                 < value > 李四 </ value >
                 < value > 王五 </ value >
             </ list >
   </ property >
   < property  name ="score" >
             < map >
                 < entry  key ="数学" >
                     < value > 60 </ value >
                 </ entry >
                 < entry  key ="英语" >
                     < value > 70 </ value >
                 </ entry >
                 < entry  key ="语文" >
                     < value > 80 </ value >
                 </ entry >
                 < entry  key ="物理" >
                     < value > 90 </ value >
                 </ entry >
                 < entry  key ="化学" >
                     < value > 95 </ value >
                 </ entry >
             </ map >
   </ property >
   < property  name ="basicInfo" >
             < props >
                 < prop  key ="身高" > 165 </ prop >
                 < prop  key ="体重" > 45kg </ prop >
                 < prop  key ="学历" > 大学本科 </ prop >
             </ props >
    </ property >
    < property  name ="interest" >
             < set >
                 < value > 唱歌 </ value >
                 < value > 跳舞 </ value >
                 < value > 书法 </ value >
             </ set >
    </ property > 

 </ bean >
 </ beans >
public   class  Chinese  implements  People  {
     private  List friends  =   new  ArrayList();
     private  Map score  =   new  HashMap();
     private  Properties basicInfo  =   new  Properties();
     private  Set interest  =   new  HashSet();
     // 省略对应set方法
     .
}

附上bean实例化高级属性:

http://blog.csdn.net/lifeng_2009/article/details/5754658


				
时间: 2024-07-30 14:26:32

spring 中容器 map、set、list、property 的 bean 实例化的相关文章

使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法

Java提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法 获取Class类实例的方法: 类名.class 实例名.getClass() Class.forName(className) public class RefTest { @Test public void testRef(){ //Class cls = RefTest.class; //Class.forName("com.jboa.service.RefTest"); //new RefTest()

Spring中基于Java的配置@Configuration和@Bean用法 (转)

spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置. 一.首先,需要xml中进行少量的配置来启动Java配置: [java] view plain copy print? <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmln

Spring中基于Java的配置@Configuration和@Bean用法

Spring中为了减少xml中配置,可以创建一个配置类(例如ExampleConfiguration)来对bean进行配置. 1.配置spring配置文件来启用Java注解 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.o

Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件

(1)下边的一个java类包含了所有Map.Set.List.数组.属性集合等这些容器,主要用于演示Spring的注入配置: package com.lc.collection; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; public class Department { private String name; private String []

Spring中IoC - 两种ApplicationContext加载Bean的配置

说明:Spring IoC其实就是在Service的实现中定义了一些以来的策略类,这些策略类不是通过 初始化.Setter.工厂方法来确定的.而是通过一个叫做上下文的(ApplicationContext)组建来加载进来的.这里介绍两种Context组建的构件过程 前提条件:在Gradle工程的build.gradle文件中引入对Spring framework 的支持 repositories { mavenCentral() } dependencies { compile group: '

Spring IOC 容器源码分析 - 创建原始 bean 对象

1. 简介 本篇文章是上一篇文章(创建单例 bean 的过程)的延续.在上一篇文章中,我们从战略层面上领略了doCreateBean方法的全过程.本篇文章,我们就从战术的层面上,详细分析doCreateBean方法中的一个重要的调用,即createBeanInstance方法.在本篇文章中,你将看到三种不同的构造 bean 对象的方式.你也会了解到构造 bean 对象的两种策略.如果你对这些内容感兴趣,那么不妨继续往下读.我会在代码进行大量的注解,相信能帮助你理解代码逻辑.好了,其他的就不多说了

深入了解Spring中的容器

1.创建Bean的3种方式 1.1使用构造器创建bean实例 这是最常见的方式,如果不采用构造注入,bean类需要有默认构造函数.如果采用构造注入,则需要配置xml文件的<constructor-arg> 1.2使用静态工厂方法创建bean 最典型的工厂方法如 1 package spi; 2 3 public class PersonFactory { 4 public static Person getPerson(String arg) { 5 if (arg.equalsIgnoreC

Spring中@Transactional用法深度分析之一

引言: 在Spring中@Transactional提供一种控制事务管理的快捷手段,但是很多人都只是@Transactional简单使用,并未深入了解,其各个配置项的使用方法,本文将深入讲解各个配置项的使用. 1.  @Transactional的定义 Spring中的@Transactional基于动态代理的机制,提供了一种透明的事务管理机制,方便快捷解决在开发中碰到的问题.在现实中,实际的问题往往比我们预期的要复杂很多,这就要求对@Transactional有深入的了解,以来应对复杂问题.

Mybaits3源码分析(二):扫描Mapper关联到spring IOC容器

首先讲讲mapper是怎么从配置到对象的. <!-- 采用自动扫描方式创建mapper bean(单个更新模式) --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.xxx.dao" /> <property name="sqlSe