[转]spring_bean的属性
1.parent
表示继承的父类
如果有很多继承同一个父类的BEAN
那么在配置文件中实例那些BEAN时候可以省略掉父类已经注入的属性
bean定义继承父bean定义,它可以覆盖父bean的一些值,或者它需要的值。
那么在配置文件中实例那些BEAN时候可以省略掉父类已经注入的属性
<bean id="carnetMgr" parent="txProxyTemplate">
<property name="target">
<bean class="ecustoms.carnet.app.biz.CarnetMgr">
<property name="extensionHistoryDAO" ref="extensionHistoryDAO"/>
<property name="stockTransactionDAO" ref="stockTransactionDAO"/>
<property name="carnetDAO" ref="carnetDAO"/>
</bean>
</property>
</bean>
2.list, set, map和props元素分别用来设置类型为List,Set,Map和Propertis的属性值。分别用来为bean传入集合值。
对应的spring的配置文件举例如下:
< 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 >
对应的java代码如下:
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方法
}
3.maxSize表示每页显示数据的最大值
<property name="maxSize"><value>20</value></property>
Bean元素出了上面的两个属性之外,还有很多其它属性。说明如下:
<bean
id="beanId"(1)
name="beanName"(2)
class="beanClass"(3)
parent="parentBean"(4)
abstract="true | false"(5)
singleton="true | false"(6)
lazy-init="true | false | default"(7)
byName | byType | constructor | autodetect | default"(8)
dependency-check = "none | objects | simple | all | default"(9)
depends-on="dependsOnBean"(10)
init-method="method"(11)
destroy-method="method"(12)
factory-method="method"(13)
factory-bean="bean">(14)
</bean>
4.id: Bean的唯一标识名。它必须是合法的XML ID,在整个XML文档中唯一。
5.name: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。
6.class: 用来定义类的全限定名(包名+类名)。只有子类Bean不用定义该属性。
7.abstract(默认为”false”):用来定义Bean是否为抽象Bean。它表示这个Bean将不会被实例化,一般用于父类Bean,因为父类Bean主要是供子类Bean继承使用。
8.singleton(默认为“true”):定义Bean是否是Singleton(单例)。如果设为“true”,则在 BeanFactory作用范围内,只维护此Bean的一个实例。如果设为“flase”,Bean将是Prototype(原型)状 态,BeanFactory将为每次Bean请求创建一个新的Bean实例。
9.lazy-init(默认为“default”):用来定义这个Bean是否实现懒初始化。如果为“true”,它将在BeanFactory 启动时初始化所有的Singleton Bean。反之,如果为“false”,它只在Bean请求时才开始创建Singleton Bean。
10.autowire(自动装配,默认为“default”):它定义了Bean的自动装载方式。
1、“no”:不使用自动装配功能。
2、“byName”:通过Bean的属性名实现自动装配。
3、“byType”:通过Bean的类型实现自动装配。
4、“constructor”:类似于byType,但它是用于构造函数的参数的自动组装。
5、“autodetect”:通过Bean类的反省机制(introspection)决定是使用“constructor”还是使用“byType”。
11.dependency-check(依赖检查,默认为“default”):它用来确保Bean组件通过JavaBean描述的所以依赖关系都得到满足。在与自动装配功能一起使用时,它特别有用。
1、 none:不进行依赖检查。
2、 objects:只做对象间依赖的检查。
3、 simple:只做原始类型和String类型依赖的检查
4、 all:对所有类型的依赖进行检查。它包括了前面的objects和simple。
12.depends-on(依赖对象):这个Bean在初始化时依赖的对象,这个对象会在这个Bean初始化之前创建。
13.init-method:用来定义Bean的初始化方法,它会在Bean组装之后调用。它必须是一个无参数的方法。
14.destroy-method:用来定义Bean的销毁方法,它在BeanFactory关闭时调用。同样,它也必须是一个无参数的方法。它只能应用于singleton Bean。
15.factory-method:定义创建该Bean对象的工厂方法。它用于下面的“factory-bean”,表示这个Bean是通过工厂方法创建。此时,“class”属性失效。
16.factory-bean:定义创建该Bean对象的工厂类。如果使用了“factory-bean”则“class”属性失效。
[转]spring_bean的属性的更多相关文章
- jqu
1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...
- Spring_Bean的作用域---和使用外部属性文件
<!-- 使用 bean的scope属性来配置bean的作用域 singleton:默认值.容器初始时创建bean实例,在整个容器的生命周期内只创建这一个bean单例 prototype:原型的 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- 探究@property申明对象属性时copy与strong的区别
一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...
- CSS HTML元素布局及Display属性
本篇文章主要介绍HTML的内联元素.块级元素的分类与布局,以及dispaly属性对布局的影响. 目录 1. HTML 元素分类:介绍内联元素.块级元素的分类. 2. HTML 元素布局:介绍内联元素. ...
- CSS float 浮动属性
本篇主要介绍float属性:定义元素朝哪个方向浮动. 目录: 1. 页面布局方式:介绍文档流.浮动层以及float属性. 2. float:left :介绍float为 left 时的布局方式. 3. ...
- CSS Position 定位属性
本篇文章主要介绍元素的Position属性,此属性可以设置元素在页面的定位方式. 目录 1. 介绍 position:介绍position的值以及辅助属性. 2. position 定位方式:介绍po ...
- npm package.json属性详解
概述 本文档是自己看官方文档的理解+翻译,内容是package.json配置里边的属性含义.package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象.其中很多属性可以通过np ...
- JavaScript特性(attribute)、属性(property)和样式(style)
最近在研读一本巨著<JavaScript忍者秘籍>,里面有一篇文章提到了这3个概念. 书中的源码可以在此下载.我将源码放到了线上,如果不想下载,可以直接访问在线网址,修改页面名就能访问到相 ...
随机推荐
- java基础-包
浏览以下内容前,请点击并阅读 声明 为了使类型更容易查找和使用,避免命名冲突,以及可视范围的控制,程序员一般将相关的一些类型组合到一个包中.组合的类型包括类,接口,枚举和注释,枚举是一种特殊的类,而注 ...
- table sorting–angularjs
1: <script type="text/javascript" ng:autobind 2: src="http://code.angularjs.org/0. ...
- Java知识结构
- pythonchallenge 解谜
所有代码均使用python 3.5.1 版本 最近在学python,闲来无事觉得这个解谜还挺有意思. 解谜网址 http://www.pythonchallenge.com/ 接下来会写破解教程~
- 用PS去除图片中文字的6个方法
转自:http://www.u148.net/article/486.html 1.使用仿制图章工具去除文字. 这是比较常用的方法.具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的 ...
- 如何提高Java并行程序性能??
在Java程序中,多线程几乎已经无处不在.与单线程相比,多线程程序的设计和实现略微困难,但通过多线程,我们却可以获得多核CPU带来的性能飞跃,从这个角度说,多线程是一种值得尝试的技术.那么如何写出高效 ...
- C语言中static的作用
(1)在函数体内,局部的static变量.生存周期为程序的整个生命周期:作用域却在定义了的函数体内.一个被声明为静态的变量在这个函数被调用过程中维持其值不变.因为它分配在静态存储区域,函数调用结束以后 ...
- Neil·Zou 语录三
1 人的大脑,假设100分成熟.那么每个人大脑达到100分的时间点不同.有些人因为外界因素在读书时就达到了,而有些人到工作后才达到.但很可惜,很多国人进入社会后就不学习了.所以说,工作后保持激情.好奇 ...
- source insight 编程风格(持续更新)
1.字体Source Code Pro 出身于豪门Adobe,从名字上来看就知道是转为编码而生的.基本上也是拥有前面所提的编程字体的所有要素的.这个字体基本上具有编程字体所需的所有要素:等宽.支持Cl ...
- vert.x学习(八),用JDBCClient配合c3p0操作数据库
今天学习了下vert.x的JDBCClient,我这里将今天的学习笔记记录下来.这次学习中使用了c3p0. 用使用JDBCClient和c3p0得现在pom.xml文件里面导入对应的依赖,下面贴出xm ...