面试常见问题-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步。

相关文章
|
2月前
快速排序--面试最常见问题
快速排序--面试最常见问题
20 1
|
12天前
|
JavaScript 前端开发 Java
常见问题:Go的面试问题和答案(2)
常见问题:Go的面试问题和答案(2)
|
12天前
|
存储 Java 程序员
常见问题:Go的面试问题和答案(1)
常见问题:Go的面试问题和答案(1)
|
2月前
|
存储 NoSQL MongoDB
MongoDB实战面试指南:常见问题一网打尽
MongoDB实战面试指南:常见问题一网打尽
|
1月前
|
Java 调度
Java面试题:简述Java线程的生命周期及其状态转换。
Java面试题:简述Java线程的生命周期及其状态转换。
16 0
|
1月前
|
设计模式 安全 Java
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
54 0
|
3月前
|
Python
2024年最新【Python】循环结构:while 循环(1),阿里巴巴面试常见问题及回答技巧
2024年最新【Python】循环结构:while 循环(1),阿里巴巴面试常见问题及回答技巧
2024年最新【Python】循环结构:while 循环(1),阿里巴巴面试常见问题及回答技巧
|
2月前
|
Java
Java中的面试常见问题解析
Java中的面试常见问题解析
|
3月前
|
数据采集 算法 网络协议
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
|
2月前
|
存储 算法 数据挖掘
数据结构面试常见问题:解锁10大关键问题及答案解析【图解】
数据结构面试常见问题:解锁10大关键问题及答案解析【图解】