spring IOC源码分析

本文详细介绍了Spring框架中的IoC容器概念及其工作原理。主要内容包括Bean的生命周期管理、配置文件读取方式以及IoC容器初始化过程。此外还探讨了在这一过程中所涉及的设计模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring ioc是spring这个大杂烩框架的基础与核心。几乎所有其他组件都与次相关量。

ioc 主要负责管理bean的生命周期。包括解析bean的配置、创建、依赖、销毁。

两个核心容器接口

IoC容器主要有两个容器系列:BeanFactory和ApplicationContext。

接口类BeanFactory提供了Spring中所有IOC容器的最基本的功能规范,来看看BeanFactory的组织结构图:

 

BeanDefinition来定义基于Spring的应用中的各种对象以及它们之间的相互依赖关系

spring要先读取配置文件
 

 

IoC容器的初始化过程(refresh()方法来启动):(源码查看可以通过loadBeanDefinitions逐步查看)

Resource定位过程--BeanDefinition的载入--向IoC容器注册
BeanDefinition(调用BeanDefinitionRegistry接口来实现,每个bean放在hashMap中存储)

读取配置文件:  recourceReader接口定义来读取配置文件的核心方法, 在使用web容器的情况下主要是通过他的实现类XmlBeanDefinitionReader来读取配置文件,读取后把bean封装成BeanDefinition对象 

这里用的到设计模式包括: 

工厂模式

bean的创建,整体ioc容器负责bean的创建就是一个工厂模式。

单例模式

单例bean的获取

策略模式:不同的资源配置文件的读取。如 xml,url等

装饰者模式:该模式是对一个类的增强,beanFactory 有许多子类,如 listablebeanfactory 到XmlBeanFactory,功能逐步增强。

转载于:https://my.oschina.net/zhaolin/blog/1942372

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值