前言
这部分知识经常在面试中被问到
为此专门去深挖补充这部分知识点
正文
总的来说,想在面试中侃侃而谈
可以叙述一下这部分简易版:
(先找到配置文件中的bean定义)
-
实例化阶段
(利用反射机制实例化) -
设置属性阶段
设置属性之后,会运行很多aware的接口(aware前面对应的参数对应什么资源),主要作用是加载到spring的容器中 -
初始化阶段
初始化前:执行postProcessBeforeInitialization方法
initializingbean的afterpropertiesset方法,或者@PostConstruct注解标注的方法或者配置init-method方法
(一般用这个)
初始化后:执行postProcessAfterInitialization方法 -
销毁阶段
@PreDestroy注解标注的方法,或者配置destroy-method方法
(一般用这个)
如果想要更加详细的叙述或者流程
可看下面的图:
以下两张图都是来自
跟着Mic学架构
个人感觉这个老师还是不错的
图一:
图二: