<bean id="TheAction" ⑴
class="net.xiaxin.spring.qs.UpperAction" ⑵
singleton="true" ⑶
init-method="init" ⑷
destroy-method="cleanup" ⑸
depends-on="ActionManager" ⑹ >
<property…> </bean>
⑴ idjava
Java Bean在BeanFactory中的惟一标识,代码中经过BeanFactory获取。spring
JavaBean实例时需以此做为索引名称。session
⑵ class Java Bean 类名 即真正接口的实现类。spa
⑶ singleton bean的做用域(建立模式(prototype仍是singleton))。prototype
单例(Singleton)模式,若是设为“true”,只维护此Java Bean的一个实例,反之,若是设为“false”,BeanFactory每次都将建立一个新的实例返回。默认为true。设计
实现方式是第一次getBean时放入Map中保存,第二次再用时直接在Map中拿,类名为key,实例为value。Bean的其余做用域还有prototype:原型模式:在获取prototype定义的bean时都产生新的实例,其生命周期由客户端维护。Session对每次HTTPsession中都回产生一个新的实例。Global session 仅在使用portletcontext的时候才有效,经常使用的是singleton和prototypecode
⑷ init-methodblog
初始化方法,此方法将在BeanFactory建立JavaBean实例以后,在向应用层返回引用以前执行。通常用于一些资源的初始化工做。在javaBean中建立init方法,再添加属性init-method=“init”就行索引
⑸ destroy-method接口
销毁方法。此方法将在BeanFactory销毁的时候执行,通常用于资源释放。与init用法相似
⑹ depends-on
Bean依赖关系。通常状况下无需设定。Spring会根据状况组织各个依赖关系的构建工做(这里示例中的depends-on属性非必须)。
只有某些特殊状况下,如JavaBean中的某些静态变量须要进行初始化(这是一种BadSmell,应该在设计上应该避免)。经过depends-on指定其依赖关系可保证在此Bean加载以前,首先对depends-on所指定的资源进行加载。
⑺
经过节点可指定属性值。BeanFactory将自动根据Java Bean对应的属性类型加以匹配。
下面的”desc”属性提供了一个null值的设定示例。注意表明一个空字符串,若是须要将属性值设定为null,必须使用节点。
⑻ 指定了属性对BeanFactory中其余Bean的引用关系。
<bean id="TheAction" ⑴ class="net.xiaxin.spring.qs.UpperAction" ⑵ singleton="true" ⑶ init-method="init" ⑷ destroy-method="cleanup" ⑸ depends-on="ActionManager" ⑹ > <property…> </bean>