Bean的作用域及生命周期

一、Bean作用域:

Singleton:单例-整个容器只有一个对象实例默认是单例(使用Singleton定义的beanspring容器中将只有一个实例,也就是说无论多少个bean引用ta,始终指向同一个对象)

Prototype:原型-每次获取bean都产生一个新的对象(每个通过spring容器获取prototype定义的bean时,容器都将创建一个新的bean实例)

Request:每次请求时创建一个新的对象

Session:在会话的范围内是一个对象

Global session:--只在portlet下有用,表示application

Application:在应用范围中是一个对象

二、Spring Bean的生命周期:

在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个bean不在被调用时需要进行相关的析构操作,并从bean容器中移除。

Spring Bean Factory负责管理在spring容器中被创建的bean的生命周期。bean的生命周期由两组回调(call back)方法组成。

1、初始化之后调用的回调方法。

2、销毁之前调用的回调方法。

      Spring框架提供了四种方式来管理bean的生命周期事件:

     <1> InitializingBean 和 DisposableBean 回调接口(初始化bean和 /dɪˈspoʊzəbl/ Bean)

     <2> 针对特殊行为的其他Aware接口

     <3> Bean 配置文件中的 Custom init()方法和 destroy()方法

     <4> @PostConstruct 和@PreDestroy 注解方式


版权声明:本文为qq_31129841原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。