学习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来保持和维护。

相关推荐
拉不动的猪5 分钟前
Token无感刷新全流程(Vue + Axios + Node.js(Express))
java·javascript·vue.js
百锦再5 分钟前
大型省级政务平台采用金仓数据库(KingbaseES)
开发语言·数据库·后端·rust·eclipse
m0_6398171517 分钟前
基于springboot个人云盘管理系统【带源码和文档】
java·spring boot·后端
biter down22 分钟前
C 语言17:位操作符 & | ^:从二进制编码到大小端
c语言·开发语言
大头an24 分钟前
Spring事务隔离级别全解析:从读未提交到序列化
java
Chloeis Syntax25 分钟前
MySQL初阶学习日记(2)--- 数据库的数据类型和表的操作
数据库·学习·mysql
mjhcsp26 分钟前
C++ map 容器:有序关联容器的深度解析与实战
开发语言·c++·map
将编程培养成爱好29 分钟前
C++ 设计模式《账本事故:当备份被删光那天》
开发语言·c++·设计模式·备忘录模式
雷工笔记33 分钟前
计算机更换硬盘并新装系统
运维·学习
im_AMBER33 分钟前
Leetcode 51
笔记·学习·算法·leetcode·深度优先