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


目录
相关文章
|
5月前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
7月前
|
Java 调度
【多线程面试题 五】、 介绍一下线程的生命周期
线程的生命周期包括新建、就绪、运行、阻塞和死亡状态,线程状态会根据线程的执行情况在这些状态之间转换。
【多线程面试题 五】、 介绍一下线程的生命周期
|
7月前
|
缓存 JavaScript
【Vue面试题五】、说说你对Vue生命周期的理解?
这篇文章详细阐述了Vue生命周期的各个阶段及其特点,并解释了在`created`和`mounted`生命周期钩子中请求数据的区别,指出`created`钩子适合于执行异步数据获取,而`mounted`钩子由于DOM已经渲染完成,适合于执行依赖于DOM的操作。
【Vue面试题五】、说说你对Vue生命周期的理解?
|
8月前
|
Java 调度
Java面试题:简述Java线程的生命周期及其状态转换。
Java面试题:简述Java线程的生命周期及其状态转换。
45 0
|
10月前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
106 1
|
10月前
|
XML Java 数据格式
【springboot原理篇】Bean的加载方式,面试必看
【springboot原理篇】Bean的加载方式,面试必看
339 0
|
10月前
|
调度
【面试问题】说说线程的生命周期?
【1月更文挑战第27天】【面试问题】说说线程的生命周期?
|
10月前
|
缓存 前端开发 Java
面试题:说说你对Bean作用域的理解和使用?
面试题:说说你对Bean作用域的理解和使用?
72 0
|
10月前
|
Java Spring 容器
面试题:在spring框架下面,Bean的属性lazy-init有什么作用,默认值是多少
面试题:在spring框架下面,Bean的属性lazy-init有什么作用,默认值是多少
100 0
|
10月前
|
消息中间件 安全 Java
面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?
面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?
116 5

热门文章

最新文章