(五)java深入java虚拟机及大数据笔记库(56)
2018-01-13 10:23
260 查看
一. 请解释Spring Bean的生命周期?
1 ) . 简述 : SpringBean的生命周期简单易懂
[1]在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态;
[2]同样,当一个Bean不在被调用时需要进行相关的析构操作,并从bean容器中移除
2 ) . 组成 :
2.1Spring Bean factory负责管理在spring容器中被创建的bean的生命周期
2.2Bean的生命周期由两组回调方法(call back)方法组成
[1]初始化之后调用的回调函数
[2]销毁之前调用的回调函数
3 ) . Spring框架提供了四种方式来管理bean的生命周期事件
[1] InitializingBean和DisposableBean回调接口
[2]针对特殊行为的其他Aware接口
[3]Bean配置文件中的Custom init()方法和destroy方法
[4]@PostConstruct和@PreDestroy注解方式
4 ) . 使用customInit()和customDestroy()方法管理bean生命周期的代码样例如下 :
<beans>
<bean id="demoBean" class="com.howtodoinjava.task.DemoBean" init-method="customInit" destroy-method="customDestroy"></bean>
</beans>
二. Spring Bean的作用域之间有什么区别?
1 ) . 简述 : Spring容器中的bean可以分为5个范围,所有的范围名称都是自说明的,但是为了避免混淆,以下是详细说明 :
1.1 singleton : 是bean中默认范围,此范围确保不管接受到多少请求,每个容器中只有一个bean实例,单例的模式由bean factory自身来维护
2 ) .prototype : 此原型范围与单例范围相反,为每一个bean请求提供一个实例
3 ) . request : 在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成后,bean会失效并被垃圾回收器回收
4 ) .Session : 与请求范围类似,确保每个Session中有一个bean的实例,在session过期后,bean会随之失效
5 ).global-session : global-session 和Portlet应用相关,当你的应用部署在Portlet容器中工作时,它包含很多portlet;
若你想要生命让所有的portlet共同全局的存储变量的话,那么这全局变量需要存储在global-session中;
全局作用域与Servlet中的session作用域效果相同
1 ) . 简述 : SpringBean的生命周期简单易懂
[1]在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态;
[2]同样,当一个Bean不在被调用时需要进行相关的析构操作,并从bean容器中移除
2 ) . 组成 :
2.1Spring Bean factory负责管理在spring容器中被创建的bean的生命周期
2.2Bean的生命周期由两组回调方法(call back)方法组成
[1]初始化之后调用的回调函数
[2]销毁之前调用的回调函数
3 ) . Spring框架提供了四种方式来管理bean的生命周期事件
[1] InitializingBean和DisposableBean回调接口
[2]针对特殊行为的其他Aware接口
[3]Bean配置文件中的Custom init()方法和destroy方法
[4]@PostConstruct和@PreDestroy注解方式
4 ) . 使用customInit()和customDestroy()方法管理bean生命周期的代码样例如下 :
<beans>
<bean id="demoBean" class="com.howtodoinjava.task.DemoBean" init-method="customInit" destroy-method="customDestroy"></bean>
</beans>
二. Spring Bean的作用域之间有什么区别?
1 ) . 简述 : Spring容器中的bean可以分为5个范围,所有的范围名称都是自说明的,但是为了避免混淆,以下是详细说明 :
1.1 singleton : 是bean中默认范围,此范围确保不管接受到多少请求,每个容器中只有一个bean实例,单例的模式由bean factory自身来维护
2 ) .prototype : 此原型范围与单例范围相反,为每一个bean请求提供一个实例
3 ) . request : 在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成后,bean会失效并被垃圾回收器回收
4 ) .Session : 与请求范围类似,确保每个Session中有一个bean的实例,在session过期后,bean会随之失效
5 ).global-session : global-session 和Portlet应用相关,当你的应用部署在Portlet容器中工作时,它包含很多portlet;
若你想要生命让所有的portlet共同全局的存储变量的话,那么这全局变量需要存储在global-session中;
全局作用域与Servlet中的session作用域效果相同
相关文章推荐
- 【笔记】深入理解 java 虚拟机---运行时数据区域
- (五)java深入java虚拟机及大数据笔记库(59)
- (五)java深入java虚拟机及大数据笔记库(52)
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- (五)java深入java虚拟机及大数据笔记库(54)
- (五)java深入java虚拟机及大数据笔记库(55)
- (五)java深入java虚拟机及大数据笔记库(50)
- (五)java深入java虚拟机及大数据笔记库(65)
- 深入理解Java 虚拟机(周志明)笔记(二)——Java数据分区
- (五)java深入java虚拟机及大数据笔记库(49)
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- (五)java深入java虚拟机及大数据笔记库(51)
- (五)java深入java虚拟机及大数据笔记库(58)
- (五)java深入java虚拟机及大数据笔记库(64)
- (五)java深入java虚拟机及大数据笔记库(57)
- 《深入理解 Java 虚拟机》- 笔记 - Java 运行时数据区域
- (五)java深入java虚拟机及大数据笔记库(63)
- (五)java深入java虚拟机及大数据笔记库(61)
- (五)java深入java虚拟机及大数据笔记库(53)
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区