Spring中Bean的生命周期与InitializingBean和DisposableBean
来源:互联网 发布:mysql length 编辑:程序博客网 时间:2024/05/18 19:46
Spring提供了一些标志接口,用来改变BeanFactory中的Bean的行为,它们包括InitializingBean和DisposableBean。实现这些接口将会导致BeanFactory调用前一个接口的afterPropertiesSet()方法,调用后一个接口的destory()方法,从而使得bean可以在初始化和析构后做一些特定的动作。
在内部,Spring使用BeanPostProcessor来处理它能找到的标志接口以及调用适当的方法,如果你需要自定义的特性或者其他的spring没有提供的生命周期的行为,你可以实现自己的BeanPostProcessor 。
所有的生命周期的标志接口都在下面叙述了。在附录的一节中,你可以找到相应的图展示spring是如何管理bean的,那些生命周期的特征如何改变你的bean的本质特征以及他们如何被管理 。
1.initializingBean/init-method
实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。
注意通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要把代码通Spring耦合起来) Bean的定义支持指定一个普通的初始化方法,在使用XmlBeanFactory的情况下,可以通过指定init-method属性来完成
<baan id="exampleInitBean" class="example.ExampleBean" init-method="init"/>
public class ExampleBean {
public void init(){
}
}
同下面的是一样的
<bean id="exampleInitBean" class="example.AnotherExampleBean" />
public class AnotherExampleBean implements InitializingBean{
public void afterPropertiesSet(){
}
}
但却不把代码耦合于spring中。
2.DisposableBean/destroy-method
实现org.springframework.beans.factory.DisposableBean接口允许一个bean.可以再包含它的BeanFactory销毁的时候得到一个回调。DisposableBean也指定了一个方法。
注意:通常DisposableBean接口的使用能够避免的(不鼓励去使用,因为它不必要将代码耦合于spring中) bean的定义支持指定一个普通的析构方法。在使用xmlBeanFactory使用的情况下,它是通过destroy-method属性完成。
重要的提示:当以prototype模式部署一个bean的时候,bean的生命周期将会有少许的变化,通过定义,spring无法管理一个non-singleton/property bean的生命周期,因为当它创建之后,你可以把spring的角色想象成new操作符的替代品。从那之后任何生命周期方面的事情都有客户端来处理。
- Spring 中Bean的生命周期与InitializingBean和DisposableBean
- Spring 中Bean的生命周期与InitializingBean和DisposableBean
- Spring中Bean的生命周期与InitializingBean和DisposableBean
- Spring 中Bean的生命周期与InitializingBean和DisposableBean
- Spring 中Bean的生命周期与InitializingBean和DisposableBean
- Spring中Bean的生命中期与InitializingBean和DisposableBean接口
- Spring中Bean的生命中期与InitializingBean和DisposableBean接口
- Spring Bean InitializingBean和DisposableBean实例
- Spring Bean InitializingBean和DisposableBean实例区别
- spring 中InitializingBean, DisposableBean
- spring 容器初始化 bean 和销毁前所做的操作定义方式(InitializingBean ,DisposableBean)
- Spring 中的InitializingBean和DisposableBean
- spring中的DisposableBean和InitializingBean
- spring中InitializingBean,DisposableBean,BeanPostProcessor接口例子
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- jetty容器
- java 权限修饰符
- spring3
- jQuery ajax中traditional参数的作用
- MySQL数据库恢复(使用mysqlbinlog命令)
- Spring中Bean的生命周期与InitializingBean和DisposableBean
- LeetCode_Flatten Binary Tree to Linked List
- 多线程进度条的使用
- Win7 环境下如何配置驱动开发环境
- ubuntu启用root自动登录
- Linux 嵌入式启动以及优化
- 谷歌眼镜在哥本哈根机场试点使用反响良好
- c++ primer 第一章笔记
- SLES 12集群图形配置新界面——抢先版