摘自:http://blog.csdn.net/futurehuhu/archive/2007/04/19/1570956.aspx
1、value元素
2、idref元素
idref元素用来将容器内其它bean的id传给
等同于:
使用idref标记允许容器在部署时验证所被引用的bean是否存在。此外,如果被引用的bean在同一XML文件内,且bean名字就是bean id,那么可以使用local属性。
此属性允许XML解析器在解析XML文件时来对引用的bean进行验证。
3、ref元素
形式二:
使用ref的local属性指定目标bean,它可以利用XML解析器来难所引用的bean是否存在同一文件中。local属性值必须是目标bean的id属性值。
形式三:
通过使用ref的parent属性来引用当前窗口的父容器中的bean。parent属性值即可以是目标bean的id值,也可以是name属性值。
4、内部 bean:
所 谓内部bean(inner bean)是指在一个bean的
内部bean总是匿名的且它们总是prototype模式的.同时将内部bean注入到包含该内部bean之外的bean是不可能的.
5、集合合并:
从Spring2.0开始,Spring IoC容器将支持集合的合并。父子集合元素合并后的值就是子集合中的最终结果,而且子集合中的元素值将覆盖父集合中的对应的值。
合并后内容:
[email protected]
[email protected]
[email protected]
list集合有排序功能,父bean的列表内容将排在子bean列表内容的前面;
merge属性必须在继承的子bean中定义。
6、Nulls
等同于
excapleBean.setEamil("");
而null值则可以使用
7、简写:
针对常见的value值或bean的引用,Spring提供了简化格式用于替代
map中的entry元素的简写形式为key/key-ref和value/value-ref属性。
8、组合属性名称
当设置bean的组合属性时,除了最后一下属性外,只要其他属性值不为null,组合或嵌套属性名是完全合法的。
9、depends-on属性:
depends-on属性可以用于当前bean初始化之前显式的强制一个或多个bean被初始化。
若需要表达对多个bean的依赖,可民认在
10、延迟初始化bean--lazy-init 属性:
如 果一个bean被设置为延迟初始化,而另一个非延迟初始化的singleton bean依赖于它,那么当ApplicationContext提前实例化singleton bean时,它必须也确保所有上述singleton依赖bean也被预先初始化,当然也包括设置为延迟实例化的bean.
在容器层次中通过在
11、autowire<自动装配> 属性:
模式 说明
no 不使用自动装配,必须通过ref元素指定依赖,这是默认设置。
byName 根据属性名自动装配。Spring将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。
byType 如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个,则抛出异常。
constructor 与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中未找到与构造器参数类型一致的bean,那么将抛出异常。
autodetect 通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。
--通过设置
12、dependency-check <依赖检查> 属性:
此属性用于检查bean定义中实际属性值的设置。
模式 说明
none 没有依赖检查,如果bean的属性没有值的话可以不用设置。
simple 对于原始类型及集合(除协作者外的一切东西)执行依赖检查。
object 仅对协作者执行依赖检查员。
all 对协作者,原始类型及集合执行依赖检查。
Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = (BeanFactory) context;
Table 3.1. bean定义
名称 | 链接 |
---|---|
class | Section 3.2.3.2, “实例化bean” |
name | Section 3.2.3.1, “命名bean” |
scope | Section 3.4, “bean的作用域” |
constructor arguments | Section 3.3.1, “注入依赖” |
properties | Section 3.3.1, “注入依赖” |
autowiring mode | Section 3.3.6, “自动装配(autowire)协作者” |
dependency checking mode | Section 3.3.7, “依赖检查” |
lazy-initialization mode | Section 3.3.5, “延迟初始化bean” |
initialization method | Section 3.5.1, “Lifecycle接口” |
destruction method | Section 3.5.1, “Lifecycle接口” |