面试常见问题-Bean的生命周期?

简介: 面试常见问题-Bean的生命周期?

bean的生命周期就是一个创建bean的过程


主要分为4个步骤,实例化,属性注入,初始化,销毁


spring的bean的生命周期主要是创建bean的过程,一个bean的生命周期主要是4个步骤,实例化,属性注入,初始化,销毁,但是对于一些复杂的bean的创建,spring会在bean的生命周期中开放很多的接口,可以让你加载bean的时候对bean做一些改变,因此spring的bean的生命周期总共有以下几步:


首先在spring中有一些特殊的bean会介入到其他bean的声明周期当中去,所以一个普通的bean的声明周期为:


1、 实现了BeanFactoryPostProcessor接口的bean

在加载其他的bean的时候,也会调用这个bean的postProcessBeanFactory方法,可以在这个步骤去对bean中的属性去赋值。设置年龄初始化18等等。


2、实现了InstantiationAwareBeanPostProcessor接口的bean

会在实例化bean之前调用postProcessBeforeInstantiation方法


3、 然后在对bean进行实例化


4、 对bean进行属性注入


5、 对bean进行初始化,在初始化中,包含了以下几个步骤:


1)实现了BeanFactoryAware接口,会先调用setBeanFactory方法

2)实现了BeanNameAware接口,会先调用setBeanName方法

3)实现了BeanPostProcessor接口,会先调用postProcessBeforeInitialization方法

3)实现了InitializingBean接口,会调用afterPropertiesSet方法

4)然后在进行aop后置处理,通过实现BeanPostProcessor接口,在postProcessAfterInitialization方法中进行动态代理


6、 销毁


当然还有一些其他的步骤,在此就不一一列举了,bean的生命周期总共有18步。

相关文章
|
5月前
快速排序--面试最常见问题
快速排序--面试最常见问题
30 1
|
22天前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
30天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
59 2
|
3月前
|
Java 调度
【多线程面试题 五】、 介绍一下线程的生命周期
线程的生命周期包括新建、就绪、运行、阻塞和死亡状态,线程状态会根据线程的执行情况在这些状态之间转换。
【多线程面试题 五】、 介绍一下线程的生命周期
|
3月前
|
缓存 JavaScript
【Vue面试题五】、说说你对Vue生命周期的理解?
这篇文章详细阐述了Vue生命周期的各个阶段及其特点,并解释了在`created`和`mounted`生命周期钩子中请求数据的区别,指出`created`钩子适合于执行异步数据获取,而`mounted`钩子由于DOM已经渲染完成,适合于执行依赖于DOM的操作。
【Vue面试题五】、说说你对Vue生命周期的理解?
|
3月前
|
JavaScript 前端开发 Java
常见问题:Go的面试问题和答案(2)
常见问题:Go的面试问题和答案(2)
|
3月前
|
存储 Java 程序员
常见问题:Go的面试问题和答案(1)
常见问题:Go的面试问题和答案(1)
|
5月前
|
存储 NoSQL MongoDB
MongoDB实战面试指南:常见问题一网打尽
MongoDB实战面试指南:常见问题一网打尽
|
4月前
|
Java 调度
Java面试题:简述Java线程的生命周期及其状态转换。
Java面试题:简述Java线程的生命周期及其状态转换。
27 0
|
4月前
|
设计模式 安全 Java
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
102 0