Bean中常用属性介绍(二)
在spring 中bean可以定义为两种部署模式:singleton和non-singleton
singleton:只有一个共享的实例存在
non-singleton:每次请求都创建新的实例
singleton属性:指定此Java Bean是否采用单例(Singleton)模式,如果设为“true”
则在BeanFactory作用范围内,只维护此Java Bean的一个实例,代码通过
BeanFactory获得此Java Bean实例的引用。反之,如果设为“false”则通过
BeanFactory获取此JavaBean实例时,BeanFactory每次都将创建一个新的
实例返回。
<bean id="xxx" class="指定的bean" scope="prototype" autowire="byName">
autowire属性:bean自动装配模式。可选5种模式
no:不使用自动装配。Bean的引用必须通过ref元素定义。
byName:通过属性名字进行自动装配.
byType:如果BeanFactory中正好有一个同属性类型一样的bean,就自动装配这个属性。
如果有多于一个这样的bean,就抛出一个致命异常,它指出你可能不能对那个bean使用byType的自动装配。如果没有匹配的bean,则什么都不会发生,属性不会被设置。如果这是你不想要的情况(什么都不发生),通过设置dependency-check="objects"属性值来指定在这种情况下应该抛出错误。
constructor:这个同byType类似,不过是应用于构造函数的参数。如果在BeanFactory
不恰好有一个bean与构造函数参数相同类型,则一个致命的错误会产生。
autodetect: 通过对bean 检查类的内部来选择constructor或byType。如果找到一个缺
省的构造函数,那么就会应用byType。
注:关于自动装配的相关知识请参照redarmy《自动装配》文档介绍
default-dependency-check属性:默认的依赖检查模式。可选四种。
none :不进行依赖检查。没有指定值的bean属性仅仅是没有设值。
simple:对基本类型和集合(除了合作者外,比如其他的bean,所有东西)进行依赖检查。
Object:对合作者进行依赖检查。
all :对合作者,基本类型和集合都进行依赖检查。