Spring源码之bean的生命周期

bean生命周期流程图

Spring源码之bean的生命周期_第1张图片

bean具体步骤

1、第一步:类abstractAutowireCapableBeanFactory的createBean方法,在bean实例化之前执行,resolveBeforeInstantiation。如果返回的bean不为空,则后续不再执行。
2、第二步:创建bean,smartInstantiationAwareBeanPostProcessor的determineCandidateConstructors方法,推送出来相应的构造方法,来创建实例。
3、第三步:populateBean,给bean注入属
4、第四步:如果bean实现了applicationContextAwareProcessor的setApplicationContext方法,在创建这个bean时,会执行重写之后的setApplicationContext方法。将applicationContext设置给此bean。
5、第五步:执行@PostConstruct注解的方法。
6、第六步:bean如果实现了InitializingBean接口,则会执行afterPropertiesSet方法。
7、第七步:执行initMethod方法。
8、第八步:执行postProcessorAfterInitialization方法,初始化之后执行的方法。
9、第九步:执行@PreDestroy注解的方法。
10、第十步:执行重写DisposableBean的方法destroy()。
11、第十一步:执行destroyMethod()方法。

你可能感兴趣的:(Spring)