SpringBoot3 面试篇拾遗

条目索引

条目正文

ApplicationContextInitializer

概念
3d5269c6c09bd0ff192e3a4f4e5cb30c86e0a908

1.定义一个类去实现ApplicationContextInitializer接口
并且给context对象注入环境属性,并且将各个属性注册

2.在META-INF/spring.factories配置文件中配置定义的类
接口的全类名=实现类的全类名


51212e5cc368e1e803e4a6f00257bdd9f84e859f

二.
9987c60aec14429d555ff0835e82a26ef9345dff

总结
33fd1ef0d4090c185952de14a58773fb53afb3a2

ApplicationListener

概念
b61a3b706c6167786afaa4e89bcf2387c5410742

总结
12bfbd4be903540a8c7a75ebaf47d47b8df7870d

流程

1.一个实现类 实现 ApplicationListener,
a37ee99e1bafd8b2f7396786f8ebcc50c999449c

  1. 在META-INF/spring.factories中写配置
    接口的全类名=实现类的全类名

Aware

7dbdd62972b74a925e95413ea094c419ebce4468

感知接口
1f3809bf2bdc1db3fb913daa1b9273a9480527ec

08964eec33bba20a182578ea6ac6ac85480ac086

Bean的生命周期

17aa2a95333cd336c868e1fa1a10906e767ac3dc

1f6484bbbe0a5e8af083c485167edd7cad2d1630

bean生命周期

1.
8401cb5ba82aa725f5b77ca165c86dcdcb40e206

2.
8a2335c3948612096fc9270ec152d7f7ca0d3886


c0479333daacaa8ba61617ac1ce4bf8d7eacaa5f

Bean的循环依赖

da795ac5c9904b6f17e34ea4382599b4aa8e6038

e9c718338ff2c9ad58db363a49c69bb00309655a

主要流程
f927c043566161370c9ac22c35c49292e8aaf836


a49f746ef122e52714f0a4ebab54ddbd25f0c0d2

BeanDefinition

d43bf158777905033abf9cf4019f143ce174027f

2dfbea21b24473cab788c2c53f88f52e61d06b5d

f1856a38d0191aac4cb9b78f9bcaba632a86fc11

BeanFactory

ba45261d54d791467f1426cbf658655920a43f3e

0da10069755d0402aeaeb077c0f9c86181d4fe5c

总结
9cd929d646697c657bd1e13ed7da2cc45507c439
DefaultListableBeanFactory是受委托去执行getBean的人

BeanPostProcessor

b056adceaaffacb202cb2ea6ebb164b5e39e061e

InitializingBean / DisposableBean

aece88f15043cf0de80e67f4cfc1ac166b057ab5

IOC容器初始化流程

a0f56ef8028c37aed156a4a667130e2254b9fb0f

eedca7621b9cc57e5b7e51bb9120c3d3dca82de4


99bf3dd61aeea0e58cbe5352163640483aeb0ac6


SpringBoot启动流程

61a39f7489241a638082088ef95e4f8b78ef0a87

5bfed4b4817901ad6aa121129185b68ba030fc2f


a676f6f43fe776f24c15759c081ef01f69f70d46