首页 > 其他分享 >基于xml的Spring配置二(Bean 实例化的基本流程)

基于xml的Spring配置二(Bean 实例化的基本流程)

时间:2022-12-08 16:08:15浏览次数:36  
标签:xml Map 对象 Spring beanDefinitionMap Bean 实例 BeanDefinition

Spring 容器在初始化时,会将xml配置的 的信息封装成一个 BeanDefinition 对象,所有的 BeanDefinition 存储到一个名为 beanDefinitionMap 的Map集合中去,Spring框架在对该Map进行遍历,使用反射创建Bean实例对象,创建好的Bean对象存储在一个名为 singletonObjects 的Map集合中,当调用getBean方法时,则最终从该Map集合中取出Bean实例对象返回。(BeanDefinition --> beanDefinitionMap --> Bean --> singletonObjects )


基于xml的Spring配置二(Bean 实例化的基本流程)_spring

  • 加载xml配置文件,解析获取配置的每个的信息,封装成一个个的BeanDefinition对象;
  • 将BeanDefinition存储在一个名为beanDefinitionMap的Map<String,BeanDefinition> 中;
  • ApplicationContext底层遍历beanDefinitionMap,创建Bean实例对象;
  • 创建好的Bean实例对象,被存储到一个名为 singletonObjects的Map<String,Object> 中;
  • 当执行applicationContext.getBean(beanName)时,从singletionObjects去匹配Bean实例返回。


基于xml的Spring配置二(Bean 实例化的基本流程)_spring_02

标签:xml,Map,对象,Spring,beanDefinitionMap,Bean,实例,BeanDefinition
From: https://blog.51cto.com/u_15227402/5922588

相关文章

  • Springboot 整合RabbitMQ.
    先看一下项目结构:首先创建rabbitmq-publisher:pom.xml<dependencies><dependency><groupId>org.springframework.boot</groupId><arti......
  • springboot最核心的三个特有注解
    SpringBoot最大的特点是无需XML配置文件,能自动扫描包路径装载并注入对象,并能做到根据classpath下的jar包自动配置。所以SpringBoot最核心的3个注解就是:@Config......
  • Spring:资源管理
    java标准资源管理职责说明面向资源文件系统、artifact(jar、war、ear文件)以及远程资源(HTTP、FTP等)API整合ClassLoader#getResource、java.io.File、java.ne......
  • logback.xml配置文件
    一、前言1、最简单的使用就是不使用任何配置文件,用默认的Console输出日志,2、使用logback.xml配置文件最基本的配置是一个configuration里面有零个或多个appender,......
  • Notepad++ ,json 、xml 格式化插件安装不了 和 github 网站访问不了 最佳解决方案
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • springboot jpa创建表自动添加注释
    @Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD})public@interfaceComment{Stringvalue()default......
  • spring mvc中modelattribute和sessionatrribute
    摘自http://tengj.top/2016/05/02/springmvcyuanli/SpringMVC支持使用@ModelAttribute和@SessionAttributes在不同的模型和控制器之间共享数据......
  • spring batch不错的教程
    springbatch不错的资料教程中文:​​​http://www.ibm.com/developerworks/cn/java/j-lo-springbatch1/​​​http://www.ibm.com/developerworks/......
  • SpringCloud组件入门使用
    SpringCloud1、远程调用1.1、微服务远程调用RestTemlpate1.2、微服务远程调用-Feign 2、Eureka注册中心2.1、Eureka注册中心搭建及入门使用2.2、Ribbon负载均......
  • Spring如何处理循环依赖问题
    Spring如何处理循环依赖问题什么是循环依赖:就是多个bean之间相互依赖,形成了一个闭环,比如beanA需要引用BeanB,BeanB需要引用BeanA,形成循环关系。一般默认在单例模式中,属性......