lpc0828 发表于 2021-10-15 17:25

spring bean加载过程

本帖最后由 lpc0828 于 2021-10-15 17:36 编辑

1.Spring对bean进行实例化;
2.Spring将值和bean的引用注入到bean对应的属性中;
3.如果bean实现了BeanNameAware接口,Sprimg将bean的ID传递给setBeanName()方法;
4.如果bean实现了BeanFactoryAware接口,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入;
5.如果bean实现了ApplicationContextAware接口,Sprimg将调用setApplicationContext()方法,将bean所在的应用上下文的引用传入进来;
6.如果bean实现了BeanPostProcessor接口,Spring将调用它们的post-ProcessBeforeInitialization()方法;
7.如果bean实现了InitializingBean接口,Spring将调用它们的after-Propertiesset()方法。
类似地,如果bean使用init-method声明了初始化方法,该方法也会被调用;
8.如果bean实现了BeanPostProcessor接口,Spring将调用它们的postProcessAfterInitialization()方法;
9.此时,bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;
10.如果bcan实现了DisposableBean接口,Sprimg将调用它的destroy()接口方法。同样,如果bean使用destroy-method声明了销毁方法,该方法也会被调用。现在你已经了解了如何创建和加载一个Spring容器。但是一个空的容器并没有太大的价值,在你把东西放进去之前,它里面什么都没有。


为了从Spring的DI中受益,我们必须将应用对象装配进Spring容器中

嘉禾家和 发表于 2021-10-15 17:31

你这错别字也太多了,改一下吧

zyy22664488 发表于 2021-10-15 18:19

感谢分享,总结很到位

xiaolong620 发表于 2021-10-27 09:18

插眼,学习一下,感谢楼主

angel_bai 发表于 2021-10-28 08:53

学习下哈
页: [1]
查看完整版本: spring bean加载过程