Spring源码导读之Spring简介

本文深入探讨Spring框架的源码,覆盖Spring的七大模块:Core、Aop、Dao、Context、Web、Orm、MVC。解析了应用上下文、Bean工厂及两类Processor的功能,以及如何下载和构建Spring源码。

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

Spring源码导读

目录

下载Spring源码

Spring的7大模块

应用上下文

bean工厂

两类Processor(理解为Spring的插件)


 

下载Spring源码

spring framework地址: 

git clone https://github.com/spring-projects/spring-framework.git

构建spring5源码的一些坑和步骤:

https://www.cnblogs.com/houzheng/p/11772510.html#_label2

Spring的7大模块

Core,Aop,Dao,Context,Web,Orm,MVC

Core:Spring核心模块,所有功能依赖该模块,主要实现OIC。

Aop:实现了Aop机制,并提供常用的Aop拦截器

Dao:提供对jdbc的支持

Context:提供框架式的Bean的访问支持,其他框架可以通过Context访问Spring的Bean

Web:提供常见的web框架支持

Orm:提供常用的orm框架管理和辅助支持

MVC:一套轻量级的MVC实现

 

应用上下文

XXXApplicationContext

核心功能:

1、资源装在成BeanDefinition

2、扫描接口和类定义生成BeanDefinition

3、代理XXXBeanFactory接口所定义的方法(委派成员变量BeanFactory完成)

4、容器刷新过程管理

bean工厂

XXXBeanFactory: 最终实现是DefaultListableBeanFactory( ApplicationContext的BeanFactory就是DefaultListableBeanFactory)

功能:

1、BeanDefinition的管理(各种XXXRegistry)

2、singletonBean的管理 (singletonBeanRegistry)

3、Bean的创建和获取

两类Processor(理解为Spring的插件)

BeanFactoryPostProcessor:

允许自定修改上下文中的BeanDefinition,可应对扫描或装载后的BeanDefinition进行 增删改

BeanPostProcessor

运行修改Bean实例,修改可以包装在bean实例化前后,摧毁前后

@autowire 和 @Resource,以及AOP也是通过BeanPostProcessor实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值