Spring -- 2.Bean

来源:互联网 发布:淘宝开店没有电脑认证 编辑:程序博客网 时间:2024/05/23 19:22

以下是学习笔记


----------Bean的配置项----------

id 在IOC容器总的唯一标识

class  要实例化的类

scope 范围

constructor arguments 构造器参数--构造器注入

properties 属性--设值注入

autowiring mode 自动装配模式

lazy-initialization mode 懒加载模式

initialization/destruction method 初始化/销毁的方法


----------Bean的作用域----------

singleton: 单例子,一个Bean容器中只有一个

prototype: 每次请求创建新的实例,destory方法不生效

request: 每次http请求创建一个实例,并且仅在当前request内有效

session: 每次http请求创建一个实例,在当前session内有效

global session: 基于portlet的web中有效,如果在web中,同session。(portlet定义了global session) 一个总系统,然后去不同的系统时用。


<bean id = "aaa" class="com.xxx.Aaa" scope="singleton" ></bean>


-------------------------------Bean的生命周期------------------------------------

1.定义:xml中配置的bean(<bean id ="xxx" class="xxxx"  >)

2.初始化:context.start()时,配置,生成bean的实例

3.使用:代码中取出bean并调用他的方法

4.销毁:bean容器销毁时,去销毁bean创建的实例



-----------------------1.配置全局bean的默认初始化,销毁---------------------

<?xml version ... encoding=...>

<beans xmls= .....default-init-method="init" default-destroy-method="destory">

</beans>



-----------------------2.bean的配置(某一个bean)------------------------------

Bean的初始化:

1.配置init-method

<bean id="xxxBean" class="xxx.XxxBean" init-method="init"></bean>

public class XxxBean{

public void init(){

  //...

}

}


Bean的销毁:

2.配置destory-method

<bean id="xxxBean" class="xxx.XxxBean" destroy-method="cleanup"></bean>

public class XxxBean{

public void cleanup(){

  //...释放连接池之类的

}

}


-----------------------3.接口配置(某一个bean)---------------------------------

Bean的初始化:

实现org.springframework.beans.factory.InitializingBean接口,覆盖afterPropertiesSet()

Bean的销毁:

实现org.springfranework.beans.factory.DisposableBean接口,覆盖destory方法


注意:

如果3个方式同时使用,先后顺序是:接口 > 配置 (已经配了单独的,那么全局默认的就没有作用了)







0 0
原创粉丝点击