spring bean 的生命周期
spring bean 的生命周期大致可以分为5个阶段,分别是创建前准备、创建实例化、依赖注入、容器缓存、销毁实例
第一阶段创建前准备,这个阶段的主要作用,bean在开始加载前要从上下文和一些配置中去解析并查找bean有关的扩展实现,比如像init-method,容器在初始化bean的时候会调用的一个方法,destory-method容器在销毁bean的时候会调用的一些方法以及beanFactoryPostProcessor这个一类bean加载过程中的一些前置和后置的一些处理扩展实现,这些类或者配置,其实是spring提供给开发者用来去实现bean加载过程中的一些扩展。在很多的Spring集成的中间。
第二个阶段是创建实例阶段,这个阶段的主要作用是通过反射区创建bean的实例对象,并且会扫描和解析bean声明的一些属性
第三个阶段是依赖注入的阶段,如果被实例化的bean存在依赖其他bean对象的情况,则需要对这些依赖的bean进行对象注入,比如autowired,以及settter注入 这样配置形式,同时在这个阶段会,触发一些扩展的调用比如像常见的beanPostProcessorss,用来去实现bean的初始化前后的扩展回调,以及像beanFactoryAware等
第四个阶段是容器缓存阶段,容器缓存阶段主要是把bean保存到容器以及缓存中,到这个阶段bean就可以使用了,这个阶段涉及到那些操作像常见的init-method,这个属性配置的方法会在这个阶段被调用以及像beanpostProcessor的后置处理器方法也会在这个阶段被触发
第五个阶段销毁实例阶段,当Spring的应用上下问被关闭的时候,那么上下文中的所有bean会被销毁,如果存在bean实现了像DisposableBean接口,或者配置destory-method方法,会在这个阶段被调用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
2021-03-05 数据库
2021-03-05 如何设计秒杀系统?
2021-03-05 分布式事务、重复消费、顺序消费
2021-03-05 分布式事务