spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作
来源:互联网 发布:centos解压命令 编辑:程序博客网 时间:2024/05/21 22:43
Spring 容器中的 Bean 是有生命周期的,spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:
- 通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;
- 通过
<bean>
元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法; - 在指定方法上加上@PostConstruct或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调用。
这几种配置方式,执行顺序是怎样的呢?我们通过例子来研究下:
package com.xiaodou._2b_dashboard_report.test1;import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;import org.springframework.context.support.ClassPathXmlApplicationContext;public class InitAndDestroySeqBean implements InitializingBean,DisposableBean{ public InitAndDestroySeqBean(){ System.out.println("执行构造方法"); } @PostConstruct public void postConstruct(){ System.out.println("postConstruct"); } @Override public void afterPropertiesSet() throws Exception { System.out.println("afterPropertiesSet"); } public void initMethod(){ System.out.println("initMethod"); } @PreDestroy public void preDestroy(){ System.out.println("preDestroy"); } @Override public void destroy() throws Exception { System.out.println("destroy"); } public void destroyMethod(){ System.out.println("destroyMethod"); } public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("conf/core/xd_2b_dashboard_report.xml"); context.close(); }}
运行InitAndDestroySeqBean的main方法,结果如下:
执行构造方法postConstructafterPropertiesSetinitMethodpreDestroydestroydestroyMethod
从执行结果可以看出:
Bean在实例化的过程中:Constructor > @PostConstruct >InitializingBean > init-method
Bean在销毁的过程中:@PreDestroy > DisposableBean > destroy-method
1 0
- spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作
- 关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种
- bean初始化完成之后或者销毁前所做的操作
- 怎样在spring初始化完成后执行一些操作?
- spring容器在初始化Bean时前和后的操作
- spring 容器初始化 bean 和销毁前所做的操作
- spring 容器初始化 bean 和销毁前所做的操作定义方式(InitializingBean ,DisposableBean)
- spring 初始化 bean 或者销毁 bean 操作
- Spring bean 初始和销毁前的操作。
- 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和销毁bean的时候执行某个方法的详解
- sql 查出一张表中重复的所有记录数据
- iOS10.3起将支持动态更换app的icon图标
- QT 获取计算机当前cup 内存 等信息
- 在web.xml注册Servlet
- CodeForces721B R
- spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作
- 配置Vim为创建不同类型的文件添加注释
- Java面试题
- 用VsCode写Python,代码提示代码规范方法
- 微信公众平台开发[6] —— 微信开发集成类的使用
- installshield 2013注册码
- 风控评分模型
- 【jQuery】replaceAll功能实现
- keras实现常用深度学习模型LeNet,AlexNet,ZFNet,VGGNet,GoogleNet,Resnet