首页 > 其他分享 >springbean生命周期

springbean生命周期

时间:2023-09-17 09:14:01浏览次数:52  
标签:生命周期 扩展 springbean Bean 调用 阶段 一些 method

B站连接

https://www.bilibili.com/video/BV12a411r75X/?spm_id_from=333.337.search-card.all.click&vd_source=f0f7ef36d638628b3ab7a240c872017d

SpringBean的生命周期大致上分为五个阶段:

创建前准备:Bean在开始加载之前要从上下文和一些配置中去解析并且查找Bean有关扩展的实现,比如像‘init-method’,容器在初始化Bean的时候或调用的一个方法,destroy-method,容器在销毁Bean的时候会调用的一些方法,以及BeanFactoryPostProcessor这一类的Bean加载过程中的一些前置和后置的一些处理扩展实现,这些类和配置其实是Springr提供给开发者用来去实现Bean加载过程中的一些扩展,在很多和Spring集成的中间件也比较常见,比如Dubbo,这样一些中间件。

创建实例化:这个阶段主要作用是通过反射去创建Bean的实例对象,并且会扫描和解析Bean声明的一些属性

依赖注入:如果被实例化的Bean存在依赖其他Bean对象的一些情况,则需要对这些依赖的Bean进行对象注入,比如常见的@Autowired,以及setter注入等这样一些配置形式,同时在这个阶段会触发一些扩展的调用,比如说常见的扩展类BeanPOSTProcessors用来去实现Bean初始化前后的扩展回调,以及像BeanFactoryAware等等

容器缓存:主要是把Bean保存到容器以及Spring缓存中,到这个阶段的Bean就可以被开发者使用了,这个阶段涉及到的操作像init-method这个属性配置一些方法或者这个阶段会被调用,以及像BeanPOSTProcessors的后置处理器方法也会在这个阶段被触发

销毁实例:当Spring的应用上下文被关闭的时候,那么这个上下文中所有的Bean会被销毁,如果存在了Bean存在了DisposableBean接口或者配置了destroy-method属性的一些方法会在这个阶段被调用

 

 

 

标签:生命周期,扩展,springbean,Bean,调用,阶段,一些,method
From: https://www.cnblogs.com/richard713/p/17707691.html

相关文章

  • vue--day88--缓存路由组件和 两个新的生命周期钩子
    ###10.缓存路由组件 1.作用:让不展示的路由组件保持挂载,不被销毁。 2.具体编码:   ```vue  <keep-aliveinclude="News">     <router-view></router-view>  </keep-alive>  ``` ###11.两个新的生命周期钩子 1.作用:路由组件所独有的两......
  • 软件测试|全面解析Docker Start/Stop/Restart命令:管理容器生命周期的必备工具
    简介Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。在使用Docker时,经常需要管理容器的生命周期,包括启动、停止和重启容器。本文将详细介绍Docker中的dockerstart、dockerstop和dockerrestart命令,帮助您全面了解如何管理容器的运行状态。在Docker中,容器是独立......
  • 【Spring Bean的生命周期】
    SpringBean的生命周期SpringBean的生命周期分为四个阶段:实例化、属性赋值、初始化和销毁。实例化构造器实例化通过Java类的构造函数实例化Bean,利用Java反射机制,调用bean对应类的构造方法进行实例化。在XML文件中,可以使用标签的class属性指定要实例化的Bean类。当容器启动时,......
  • Vue学习三:生命周期和工程化开发
    一、Vue生命周期Vue生命周期就是一个Vue实例从创建到销毁的过程生命周期四个阶段:1、创建2、挂载3、更新4、销毁Vue生命周期函数(钩子函数)Vue生命周期过程中,会自动运行一些函数,被称为[生命周期钩子]→让开发者可以在[特定阶段]运行自己的代码。创建阶段其实就是开辟存放数......
  • 软件测试生命周期
    软件测试生命周期是规范整个软件测试过程的指导性纲要,它给出一个测试项目开始到结束的工作流程,如图2.4所示。(1)获取测试需求。从软件开发需求规格说明书中获取软件测试需求,明确测试对象与范围,了解用户具体需求,编制测试需求文档。(2)编写测试计划。根据需求规格说明书、测试需求文档......
  • 关于Kubernetes-v1.23-pod-生命周期-postStart-preStop-terminationGracePeriodSecond
    我们在一个pod的yaml配置文件中,有时会看到,terminationGracePeriodSeconds选项,与containers:同级,一般可以放于spec:下面即可是当pod,变为删除的状态后,会给pod一个宽限期,让pod去执行一些清理或者销毁操作另外还有两个选项,postStart,preStop,这两个是位于lifecycle,属于pod生命周期......
  • Spring 中 Bean 的生命周期
    在您的应用程序中,由SpringIoC容器管理的形成其核心的对象被称为"bean"。一个bean是由SpringIoC容器实例化、组装和管理的对象。这些bean是通过您提供给容器的配置元数据创建的,例如,在前面章节中已经看到的XML<bean/>定义。Bean定义包含了所谓的配置元数据,容器需要了解以下内容......
  • Java对象创建过程,类的生命周期,Java的对象结构
    一、Java对象创建过程1、JVM遇到一条新建对象的指令时,首先去检查这个指令的参数是否能在常量池中定义到一个类的符号引用,然后加载这个类;2、为对象分配内存。一种办法时“指针碰撞”,一种办法是“空闲列表”,最终常用的办法是“本地线程缓冲分配”;3、将除对象头外的对象内存空间初始化......
  • Spring源码分析(九)Spring中Bean的生命周期(上)
    在这篇文章之前,写过了官网上容器扩展点相关的知识,包括FactoryBean,BeanFactoryPostProcessor,BeanPostProcessor,其中BeanPostProcessor还剩一个很重要的知识没有介绍,就是相关的BeanPostProcessor中方法的执行时机。之所以在之前的文章没有写这块内容,主要是涉及到bean的生命周......
  • 父组件可以监听到子组件的生命周期吗?
    在Vue中,父组件是可以监听到子组件的生命周期的。Vue提供了一些特殊的钩子函数,可以在父组件中监听子组件的生命周期事件。以下是一些常用的方法来监听子组件的生命周期:#####1:使用$emit:在子组件的生命周期钩子函数中,使用$emit方法触发自定义事件,向父组件发送通知。在父组件中,使......