Spring的Bean中常用属性介绍(二)

在spring 中bean可以定义为两种部署模式:singletonnon-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种模式

1、no:不使用自动装配。Bean的引用必须通过ref元素定义。

2、byName:通过属性名字进行自动装配。

3、byType:如果BeanFactory中正好有一个同属性类型一样的bean,就自动装配这个属性。

如果有多于一个这样的bean,就抛出一个致命异常,它指出你可能不能对那个bean使用byType的自动装配。如果没有匹配的bean,则什么都不会发生,属性不会被设置。如果这是你不想要的情况(什么都不发生),通过设置dependency-check="objects"属性值来指定在这种情况下应该抛出错误。

4、constructor:这个同byType类似,不过是应用于构造函数的参数。如果在BeanFactory不恰好有一个bean与构造函数参数相同类型,则一个致命的错误会产生。 

5、autodetect: 通过对bean 检查类的内部来选择constructor或byType。如果找到一个缺省的构造函数,那么就会应用byType。 


default-dependency-check属性:默认的依赖检查模式。可选四种。

1、none :不进行依赖检查。没有指定值的bean属性仅仅是没有设值。 

2、simple:对基本类型和集合(除了合作者外,比如其他的bean,所有东西)进行依赖检查。 

3、Object:对合作者进行依赖检查。 

4、all :对合作者,基本类型和集合都进行依赖检查。


---------------------------------------

以上为个人理解,若有不足,请高手指点,谢谢....

你可能感兴趣的:(spring,bean,prototype)