使用工厂bean和Utility Schema定义集合

工厂bean是实现了beanFactory接口的bean,也可以继承AbstractFactoryBean,主要是用于在给定属性参数之后自动创建一个bean对象。

我们在使用基本集合标记定义集合时,不能够指定集合的实体类,例如LinkedList、TreeSet或TreeMap等,而且也不能通过将集合定义为可供其他bean引用的单独bean在不同放入bean中共享集合。

Spring提供了两种选项来提供基本集合标记的不足。

  选项之一使用对应的集合工厂bean:ListFactoryBean、SetFactoryBean、MapFactoryBean。

<bean id="set" class="org.springframework.beans.factory.config.SetFactoryBean">
      <property name="targetSetClass">
              <value>java.util.TreeSet</value>
      </property>
      <property  name="sourceSet">
              <set>
                   <value></value>
              </set>
      </property>
</bean>        

  选项二在Spring 2.x之后引入了util schema中使用了集合标记:<util:list>、<util:set>、<util:map>

xmlns:util="http://www.springframework.org/schema/util"
xsi:schemalocation="…………
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd"

<util:set  id="" set-class="java.util.TreeSet">
         <value></value>
</util:set>
时间: 2024-12-06 17:31:34

使用工厂bean和Utility Schema定义集合的相关文章

[原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

框架 day37 Spring3,AOP,代理模式(动态/CGLIB/工厂bean),传统AOP,AspectJ框架(基于xml/注解),切入点表达式,jdbcTemplate

1     AOP 1.1   什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. * AOP采取横向抽取机制,取代了传统纵向继承体系

Spring学习(三)ioc工厂bean深入理解

一.ioc工厂配置的bean分类: 划分依据: getBean("xx") 调用某个bean对象返回的对象实例类型是否是class属性指向的类型 1.普通bean getBean("xxx") == class 属性 2.工厂bean getBean("xxx") != class属性 (class属性中指向的是一个工厂类,调用这个bean对象,想要的并不是class属性指向的工厂 ,而是该工厂负责创建的实例对象.) 二.工厂bean的必要性:

Spring 配置中 bean 的 class 使用工厂 Bean 的含义解析

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. <bean id="studentMapper" class="org.mybatis.spring.Mapp

java9新特性-12-集合工厂方法:快速创建只读集合

1.官方Feature 269: Convenience Factory Methods for Collections 2.产生背景 要创建一个只读.不可改变的集合,必须构造和分配它,然后添加元素,最后包装成一个不可修改的集合. 比如: 缺点:我们一下写了五行.即:它不能表达为单个表达式. 当然,我们也可以稍微简单点处理: 3.使用说明 Java9因此引入了方便的方法,这使得类似的事情更容易表达. List firsnamesList= List.of("Joe","Bob

例题:把机选双色球做成函数题。public定义函数,可以定义多种类型,也可以定义集合,学习函数题多一种方法。

public ArrayList jixuanqiu(ArrayList red)   //定义一个集合类型的函数 { Random r = new Random();  //机选6个红球的过程并排序 while (true) { if (red.Count == 6) { break; } else { int temp = r.Next(1, 34); if (!red.Contains(temp)) { red.Add(temp); } } } red.Sort(); return red

Spring 通过注解定义Bean以及自动扫描注解定义的bean ComponentScan 自动扫描组件&amp;指定扫描规则

不管是xml还是注解,他们都是表达bean定义的载体,其实质都是为Spring容器提供Bean定义的信息,在表现形式上都是讲xml定义的内容通过类注解进行描述. Spring容器成功启动的三大要件分别为:bean定义信息,bean实现类,spring本身. 如果采用基于xml的配置,则bean定义信息和bean实现类本身是分离的:而如果采用基于注解的配置文件,则bean定义信息通过在bean实现类上标注注解实现. @Controller:用于对Controller实现类进行标注 @Reposit

CREATE SCHEMA - 定义一个新的模式

SYNOPSIS CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ] DESCRIPTION 描述 CREATE SCHEMA 将在当前数据库里输入一个新的模式. 该模式名将在当前数据库里现存的所有模式名中唯一. 模式实际上是一个名字空间: 它包含命名对象(表,数据

1.提取List&lt;bean&gt;中的某属性集合; 2.List&lt;bean&gt;排序(需要指定升序降序和排序字段的类型)

import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import com.goog