首页 > 其他分享 >Spring中Bean的初始化创建AbastractApplicationContext.FinishBeanFactoryInitialization

Spring中Bean的初始化创建AbastractApplicationContext.FinishBeanFactoryInitialization

时间:2024-06-16 13:21:20浏览次数:26  
标签:初始化 调用 子类 FinishBeanFactoryInitialization AbastractApplicationContext Bean

AbastractApplicationContext.FinishBeanFactoryInitialization

模版调用子类DefaultListableBeanFacotry.preInstantiateSingletons

通过循环子类DefaultListableBeanFactory中收集到的所有beanDefinitionNames,对满足条件的Bean进行初始化,

getBean操作会调用父类AbstractBeanFactory.doGetBean方法

DefualtSingletonBeanRegistry.getSingleton,传入了一个匿名SingletonFactory对象,并调用getObject方法,也就是AbstractAutowireCapableBeanFactory.createBean方法,继续调用doCreateBean,在该类中对Bean进行构建、初始化、注入到DefaultSingletonBeanRegistry的singletonObjects缓存中。

标签:初始化,调用,子类,FinishBeanFactoryInitialization,AbastractApplicationContext,Bean
From: https://www.cnblogs.com/velloLei/p/18250531

相关文章

  • Spring中GenericBeanDefinition属性
    1.id再Spring容器中作为Bean的唯一标识2.name用于为id属性创建一个或多个别名,用空格、逗号分开3.classBean的类名,全限定名primary多个相同Bean再容器中的优先级5.parent标注该Bean的父类Bean,继承父类Bean的所有属性6.abstract标注Bean是否是抽象的,一般用于父类Bean。......
  • jmeter中beanshell处理器
    Jmeter工具中存在BeanShell取样器,BeanShell预处理程序,BeanShell后置处理程序,那么这次详细整理下BeanShell在JMeter的作用以及案例。beanshell是什么:BeanShell是一个小型嵌入式Java源代码解释器,能够动态地执行java代码,不需要提前编译JMeter在它的BeanShell中内置了变量,用户......
  • Spring系统学习 - Bean的作用域
    bean作用域介绍Spring框架提供了不同的作用域来管理Bean的生命周期和可见性,这对于控制不同类型的组件和处理并发请求尤其重要。singleton(默认):每个SpringIoC容器只有一个bean实例。当容器创建bean后,它会被缓存起来,后续请求将返回同一个实例。这是默认的作用域,适用于无状......
  • 【jmeter】使用beanshell simpler测试redis性能
    一、场景   由于redisdataset支持的类型有限,所以采取使用beanshellsampler 二、安装jedis包https://mvnrepository.com/artifact/redis.clients/jedis 三、添加BeanShellSampler添加脚本importjava.util.Map;importredis.clients.jedis.Jedis;importorg.a......
  • spring-1-IOC、创建bean的方式、创建bean的过程
    1.背景IOC(InversionofControl,控制反转)控制反转是一种设计原则,它将对象的创建和管理责任从应用代码中移交给容器。在Spring中,IOC容器负责管理应用中的所有对象,包括它们的生命周期和相互之间的依赖关系。IOC的主要目的是为了减少代码之间的耦合,使代码更加模块化和可测试。这......
  • 【IDEA 必备插件之一】这样注入 Bean 才爽
    今天我们来介绍一款免费的IDEA生产力插件,它叫BeanAssistant。我们可以在插件市场搜索BeanAssistant来安装它。前言不知道你们在平时的工作场景中是否经常遇到以下的情况。在一个方法中,需要调用某个实例接口的方法。我们经常会先在该类里面先注入这个接口的实例Bean,然后再调......
  • 利用SpringBeanUtil 来获取 IOC 容器中的bean
    有时候在代码中,不希望使用自动注入,而是手动获取Spring容器以及Spring容器中的某个对象1、首先写一个class实现ApplicationContextAware#importorg.springframework.beans.BeansException;importorg.springframework.context.ApplicationContext;importorg.springframework......
  • 4_Spring Bean的初始化和销毁
    SpringBean的初始化和销毁1.Bean的初始化执行流程Spring提供了多种初始化和销毁的方法编写相关Bean代码:publicclassBean1implementsInitializingBean{@PostConstructpublicvoidinit1(){System.out.println("初始化1");}@Override......
  • 2_Bean的生命周期和常见的后处理器
    1.SpringBean生命周期各个阶段首先编写一个Bean:@ComponentpublicclassLifeCycleBean{publicLifeCycleBean(){System.out.println("Bean构造");}@Autowiredpublicvoidautowire(@Value("${JAVA_HOME}")StringjavaHome){......
  • Spring常用注解,自动扫描装配Bean
    1引入context命名空间(在Spring的配置文件中),配置文件如下:Xml代码xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd......