高频面试题—聊一下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方法。


目录
相关文章
|
2月前
|
调度
【面试问题】说说线程的生命周期?
【1月更文挑战第27天】【面试问题】说说线程的生命周期?
|
2月前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
58 1
|
10月前
|
Java 程序员 Spring
Spring中bean类的生命周期|面试必问如何回答
Spring中bean类的生命周期|面试必问如何回答
|
11月前
|
缓存 JavaScript 安全
热点面试题:Vue2、3 生命周期及作用?
热点面试题:Vue2、3 生命周期及作用?
|
9月前
|
存储 Java
【面试题精讲】JVM*类的生命周期*加载阶段
【面试题精讲】JVM*类的生命周期*加载阶段
|
9月前
|
Java API
【面试题精讲】JVM-类的生命周期-连接阶段
【面试题精讲】JVM-类的生命周期-连接阶段
|
9月前
|
存储 缓存 安全
【面试题精讲】JVM-类的生命周期
【面试题精讲】JVM-类的生命周期
|
9月前
|
安全 Java 编译器
【面试题精讲】JVM-类的生命周期-初始化阶段
【面试题精讲】JVM-类的生命周期-初始化阶段
|
10月前
|
存储 缓存 Java
面试官:Spring Bean的生命周期,你知道吗?
面试官:Spring Bean的生命周期,你知道吗?
34 0
|
11月前
|
Java 程序员 API
大厂高频面试题Spring Bean生命周期最详解
Spring作为当前Java最流行、最强大的轻量级框架。Spring Bean的生命周期也是面试高频题,了解Spring Bean周期也能更好地帮助我们解决日常开发中的问题。程序员应该都知道Spring的基础容器是ApplicationContext。应很多粉丝的强烈建议,本文我来分析分析 ApplicationContext中Bean的生命周期。ApplicationContext是顶层容器接口BeanFactory的实现类,因此,我们了解了ApplicationContext的生命周期逻辑,也基本上了解了其他类型容器的生命周期逻辑。
70 0