学习java第四十天

类图中各个类的作用:

AliasRegistry:定义对alias的简单增删改等操作

SimpleAliasRegistry:主要使用map作为alias的缓存,并对接口AliasRegistry进行实现

SingletonBeanRegistry:定义对单例的注册及获取

BeanFactory:定义获取bean及bean的各种属性

DefaultSingletonBeanRegistry:对接口SingletonBeanRegistry各函数的实现

HierarchicalBeanFactory:继承BeanFactory,也就是在BeanFactory定义的功能的基础上增加了对parentFactory的支持

BeanDefinitionRegistry:定义对BeanDefinition的各种增删改操作

FactoryBeanRegistrySupport:在DefaultSingletonBeanRegistry基础上增加了对FactoryBean的特殊处理功能

ConfigurableBeanFactory:提供配置Factory的各种方法

ListableBeanFactory:根据各种条件获取bean的配置清单

AbstractBeanFactory:综合FactoryBeanRegistrySupport和ConfigurationBeanFactory的功能

AutowireCapableBeanFactory:提供创建bean、自动注入、初始化以及应用bean的后处理器

AbstractAutowireCapableBeanFactory:综合AbstractBeanFactory并对接口AutowireCapableBeanFactory进行实现

ConfigurableListableBeanFactory:BeanFactory配置清单,指定忽略类型及接口等

DefaultListableBeanFactory:综合上面所有功能,主要是对Bean注册后的处理

BeanDefinition的载入和解析

对IoC容器来说,这个载入过程,相当于把定义的BeanDefinition在IoC容器中转化成一个Spring内部表示的数据结构的过程。IoC容器对Bean的管理和依赖注入功能的实现,是通过对其持有的BeanDefinition进行各种相关操作来完成的。这些BeanDefinition数据在IoC容器中通过一个HashMap来保持和维护。

相关推荐
Funlang1 小时前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
阿达和自己1 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
总要学点什么1 小时前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
旖旎夜光1 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
Lansonli1 小时前
大数据Spark(八十八):Spark任务资源之Standalone集群测试
java·服务器·spark
ShineWinsu2 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
budingxiaomoli2 小时前
Spring AOP
java·spring·java-ee
特立独行的猫A2 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
nice_lcj5202 小时前
LRU 缓存入门:它是什么、怎么用、面试怎么手写
java·数据结构·缓存·面试·lru
普通人62 小时前
WebGL与WebGPU入门指南
开发语言·webgl·1024程序员节