高频面试题—聊一下Bean的生命周期
2021/9/12 6:06:51
本文主要是介绍高频面试题—聊一下Bean的生命周期,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
关于Bean的生命周期,是面试中非常容易被问到的知识点了,同时也十分考验面试者对Spring的理解够不够深入。
下面我们就来说一下Bean的生命周期到底是怎么个流程吧。
首先,Bean一定是从创建,经历中间很多的过程,然后被使用,最后执行销毁方法来走完它的一生。
那么我们就将Bean的生命周期大概分为三个大点来说明。
一. 创建Bean,并且准备Bean的一些附属方法
二. 使用Bean
三. 销毁Bean
让我们来围绕这三点说一下吧。
一. 创建Bean,并且准备Bean的一些附属方法
首先,Bean会由程序来调用其构造函数进行初步构造。
然后,通过依赖注入方式对Bean的各属性,或者说是各setter方法进行注入信息。
其实如果没有其他的特殊实现的话,上面两步就已经创建Bean完成了;不过其中还会存在几个接口的实现,如果Bean实现了特定的几个接口,这个时候也会在创建Bean的过程中多出几步操作。
当Bean本身实现了BeanNameAware接口,这个时候会根据接口方法,来设置Bean的name。
当Bean本身实现了BeanFactoryAware接口,这个时候会根据接口方法,将BeanFactory设置给Bean。
当Bean本身实现了ApplicationContextAware接口,这个时候Spring会将当前Bean引入到应用上下文中,也就是说可以通过ApplicationContext获取到当前Bean。
当Bean本身实现了BeanPostProcessor接口时,则执行程序中的前置处理方法。
当Bean本身实现了InitializingBean接口时,这个时候还会执行afterPropertiesSet方法,进行配置的一个加载。
随后,就是执行自身的init方法,进行Bean的初始化。
最后,执行BeanPostProcessor中的后置处理方法,即创建完成。
二. 使用Bean
使用Bean就没有什么技术含量了,这个就是业务层面上的使用过程了。
三. 销毁Bean
当使用完成后要销毁时,这个时候会第一时间执行DisposableBean接口的destroy方法,随后再执行自身Bean自定义的destroy方法。
这篇关于高频面试题—聊一下Bean的生命周期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?