七、【源码】初始化和销毁

源码地址:https://github.com/spring-projects/spring-framework

仓库地址:https://gitcode.net/qq_42665745/spring/-/tree/07-init-destroy

初始化和销毁

两种配置方式:

1.实现InitializingBean和DisposableBean接口
2.在xml配置时加上init-method和destroy-method

初始化和销毁发生在bean的初始化过程中:

  • 在使用beanDefinition创建bean对象时,先初始化bean对象,再注入属性,然后执行前置BeanPostProccessor,再判断bean是否实现了InitializingBean接口或配置了init-method,则执行自定义的初始化内容,再执行后置BeanPostProccessor,如果 bean 实现了 DisposableBean 接口或者配置了销毁方法,则注册该 bean 为可销毁的 bean。销毁的bean使用适配器模式进行了适配,包装了一个任意的bean对象,不管用哪种方式配置的销毁方法,都可以统一执行

  • 销毁的执行时机是通过注册一个关闭钩子实现的,在jvm关闭是创建一个线程执行所有对象的销毁操作。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值