1.spring启动
2.配置扫描
3.生成筛选单例BeanDefinition合并
4.加载类
5.实例化前
6.推断构造方法
7.实例化
8.实例化后
9.填充属性(变量、依赖注入@Autowire、@Resource)
10.填充属性后
11.aware回调
【BeanNameAware接口】调用setBeanName方法
【BeanFactoryAware接口】调用setBeanFactory方法
ApplicationContextAware接口
12.初始化前(@PostConstruct等)
BeanPostProcessor接口方法postProcessBeforeInitialization对属性进行更改
13.初始化
实现InitializingBean接口,重写afterPropertiesSet方法
xml <bean init-method= />
14.初始化后(AOP)
BeanPostProcessor接口方法postProcessAfterInitialization
放入单例池
销毁:DisposableBean这个接口的destroy()方法
图片来自百度
参考:https://segmentfault.com/a/1190000041083992
标签:初始化,BeanPostProcessor,创建,接口,bean,实例,单例,方法 From: https://www.cnblogs.com/tansj/p/17206617.html