BeanDefinition 属性详解
(1)id:bean的唯一标识名。它必须是合法的XMLID,在整个XML文档中唯一。
(2)name:用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。
(3)class:用来定义类的全限定名(包名+类名)。只有子类Bean不用定义该属性。
(4)parent:子类Bean定义它所引用它的父类Bean。这时前面的class属性失效。子类Bean会继承父类Bean的所有属性,子类Bean也可以覆盖父类Bean的属性,注意:子类Bean和父类Bean是同一个Java类。
(5)abstract(默认为”false”):用来定义Bean是否为抽象Bean。它表示这个Bean将不会被实例化,一般用于父类Bean,因为父类Bean主要是供子类Bean继承使用。
(6)lazy-init(默认为“false”):用来定义这个Bean是否实现懒初始化。如果为“false”,它只在Bean请求时才开始创建SingletonBean。
(7)autowire(自动装配,默认为“no");它定义了Bean的自动装载方式。
1、“no:不使用自动装配功能。
2、“byName”通过Bean的属性名实现自动装配。
3、“byType”通过Bean的类型实现自动装配。
4、“constructor”类似于by Type,但它是用于构造函改的参数的自动组装。
5、“autodetect”通过Bean类约反省机制(introspection)决定是使用“constructor"
还是使用“byType”。
(8)depends-on(依赖对象):这个Bean在初始化时依赖的对象,这个对象会在这个Bean初始化之前创建。
(9)init-method用来定义Bean的初始化方法,它会在Bean组装之后调用。它必须是一个无参数的方法。
(10)destroy-method:用来定义Bean的销毁方法,它在BeanFactory关闭时调用。同样,它也必须是一个无参数的方法。它只能应用于singletonBean。
(11)factory-method:定义创建该Bean对象的工厂方法。它用于下面的“factory-bean”,表示这个Bean是通过工厂方法创建。此时,“class”属性失效。
(12)factory-bean:定义创建该Bean对象的工厂类。
(13)autowire-candidate:采用xm格式配置bean时,将< bean >元素的autowire-candidate属性设置为false,这样容器在查找自动装配对象时,将不考虑该bean,即它不会被考虑作为其它bean自动装配的候选者,但是该bean本身还是可以使用自动装配来注入其它bean的。
(14)MutablePropertyValues:用于封装
(15)ConstructorArgumentValues:用于封装< constructor-arg >标签的信息,其实类里面就是有一个map,map中用构造函数的参数顺序作为key,值作为value存储到map中
(16)Methodoverrides:用于封装lookup-method和replaced-method标签的信息,同样的类里面有一个Set对象添加LookupOverride对象和ReplaceOvernide对象
1、lookup-method:可以用一个 bean 替换本 bean 的一个方法(的返回值)
< lookup-method name=“methodName” bean=“beanName”></ lookup-method >
2、replaced-method:可以用另一个 bean 的方法替代本 bean 的一个方法
< replaced-method name=“methodName” replacer=“replacerId”>
< !- -方法可能出现重载的情况,要根据类型和方法名找方法- ->
< arg-type match=“java.lang.String”/>
< /replaced-method>
(17)primary:决定一个接口优先使用哪一个实现
BeanDefinition 属性详解相关推荐
- python中文读音ndarray-numpy中的ndarray方法和属性详解
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- spring MVC请求处理类注解属性详解
spring MVC请求处理类注解属性详解
- Meta http-equiv属性详解
Meta http-equiv属性详解 博客分类: Web综合 HTML浏览器IECache搜索引擎 http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮 ...
- JavaScript Function.arguments 属性详解
转载自 JavaScript Function.arguments 属性详解 arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用 ...
- vertical-align属性详解
vertical-align属性详解:http://www.cnblogs.com/wcp-spring/archive/2013/03/04/2942456.html 关于vertical-alig ...
- border-sizing属性详解和应用
box-sizing 用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型.它有 content-box . border-box 和 inherit 三种取值. inherit 指的是从父元素继 ...
- Flash播放控件属性详解
Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写) 语法:AlignMode As Long 说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...
- android layout_width 属性,android:layout_weight属性详解
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...
- html5 规定输入字段,HTML5 Input属性详解
本篇教程探讨了HTML5 Input属性详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < value 属性 value 属性规定输入字段的初始值: rea ...
最新文章
- 关于 MongoDB 与 SQL Server 通过本身自带工具实现数据快速迁移 及 注意事项 的探究...
- 系列文章|OKR与敏捷(二):实现全栈敏捷
- javascript里的prototype
- netcore部署到docker 实现excel生成_Docker部署Redis集群----第七节(docker-redis-sentinel集群实现篇)...
- java概述_Java 7功能概述
- 架构日趋复杂的今天,如何重构数据库和应用边界?
- java语言50到100之间素数和_用JAVA语言编写一程序,求100以内的所有素数
- thinkphp v5.0.11漏洞_ThinkPHP5丨远程代码执行漏洞动态分析
- 如何构建一个简单的语音识别应用程序
- this指向_前端必须知道的this指向问题
- Ubuntu 右键打开终端
- WebLogic简单抓鸡大法
- dog log 算子_log算子和dog算子
- 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)
- 微信表情符号 mysql_Emoji表情符号入MySQL数据库报错的解决方案
- 阿里云块存储团队卓越工程实践
- 云计算基础课堂001 Linux系统与CentOS7的安装部署(小白向—怎么在VMware虚拟机安装基于Linux操作系统的CentOS7)
- Matlab绘制面积堆叠图/面积图
- outlook邮箱邮件大小限制_Outlook 中的邮件规则容量限制
- 易基因:精原干细胞移植后出生小鼠子代中的精子DNA甲基化变化机制|新研究