Spring源码深度解析大纲知识点

Spring源码深度解析读书笔记
Spring源码深度解析读书笔记

搭建Spring环境

1、下载github—64bit
https://desktop.github.com/
Spring源码深度解析读书笔记
clone不了Spring源码,改为git客户端然后clone
Spring源码深度解析读书笔记
2、安装gradle
http://gradle.org/downloads
gradle与maven起相同的作用,只是gradle是一个基于groovy的构建工具。

2.1创建目录
2.2将系统变量添加到path中
2.3打开cmd,输入gradle -v
Spring源码深度解析读书笔记
由于我使用的gradle版本比较高,需要jdk8才可以使用
修改JAVA_HOME的环境变量
Spring源码深度解析读书笔记
3、clone后的源码
Spring源码深度解析读书笔记
4、导入IdeaSpring源码深度解析读书笔记
这段时间会比较长。为什么呢?因为需要用gradle管理spring-framework框架的依赖的jar包。所以Idea下面会有进度条。Spring源码深度解析读书笔记
那么再这段时间再来回顾下这些模块都是干什么的?

Core technologies: dependency injection, events, resources, i18n, validation, data binding, type conversion, SpEL, AOP.
核心技术:依赖注入,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP。

Testing: mock objects, TestContext framework, Spring MVC Test, WebTestClient.
测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。

Data Access: transactions, DAO support, JDBC, ORM, Marshalling XML.
数据访问:事务,DAO支持,JDBC,ORM,编组XML。

Spring MVC and Spring WebFlux web frameworks.
Spring MVC和 Spring WebFlux Web框架。

Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.
集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。

Languages: Kotlin, Groovy, dynamic languages.
语言:Kotlin,Groovy,动态语言。

官网指南:
https://spring.io/guides

核心类介绍(重点学习对象)

1.DefaultListableBeanFactory
xmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是spring注册以及加载bean的默认实现。而对于XmlBeanFactory与DefaultListableBeanFactory.不同的地方其实是在XmlBeanFactory中使用了自定义XML读取器XmlBeanDefinitionReader,实现个性化的BeanDefineitionReader读取,DefaultListableFactory继承了abstractAutowireCapableBeanFactory并实现了ConfigurableListableBeanFactory以及BeanDefinitionRegistry接口。Spring源码深度解析读书笔记Spring源码深度解析读书笔记Spring源码深度解析读书笔记Spring源码深度解析读书笔记
2、XmlBeanDefinitionReaderSpring源码深度解析读书笔记
ResourceLoader:定义资源加载器,主要用于根据给定的资源文件地址返回对应的resource。
BeanDefinitionReader:主要定义资源文件读取并转换为BeanDefinition的各个功能。
EnvironmentCapable:定义获取Environment方法。
DoucumentLoader:定义从资源文件加载到转换为Document的功能。
AbstractBeanDefinitionReader:对于EnvironmentCapable和BeanDefinitionReader类定义的功能实现。
BeanDefinitionDocumentReader:定义读取Document并注册BeanDefinition功能。
BeanDefinitionParseDelegate:定义解析Element的各种方法。
Spring源码深度解析读书笔记

看着这个图我们可以知道他的原理过程:
XmlBeanDefinitionReader通过继承abstractbeandefinitionReader中的方法,来使用ResourceLoader将资源文件转化为resource,然后通过documentLoader对resource文件进行转换,将resource文件转换为document文件。
通过实现BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumetnReader类对Document进行解析,并使用BeanDefinitionParseDelegate对Element进行解析。

Spring源码深度解析读书笔记

相关文章:

  • 2021-12-02
  • 2021-09-18
  • 2021-10-21
  • 2021-08-11
  • 2022-12-23
  • 2021-12-26
  • 2021-05-18
猜你喜欢
  • 2021-08-18
  • 2022-12-23
  • 2021-10-05
  • 2021-09-24
  • 2021-08-08
  • 2021-04-04
  • 2021-11-07
相关资源
相似解决方案