高频面试题—聊一下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方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)