
Spring5源码分析
本专栏针对于又Spring基础的同学,一起来深入了解和探索一下Spring框架
喜欢学习的小棉袄
这个作者很懒,什么都没留下…
展开
-
Spring源码深度解析(十)——Spring内置后置处理器哪来的
今天在看源码的时候,有些后置处理器莫名其妙就加了进来,因此我就看看它是从哪来的?Spring内部会加载的选项如下/** * Register all relevant annotation post processors in the given registry. * @param registry the registry to operate on * @param sour...原创 2020-03-17 23:24:35 · 567 阅读 · 0 评论 -
Spring源码深度解析(八)——Spring环境的准备化工作
准备就包括了prepareRefresh(),obtainFreshBeanFactory()和prepareBeanFactory(beanFactory)。下面就逐个向下分析prepareRefresh()主要是对容器的激活标记的设置,启动时间,验证环境还有初始化一个用于对消息事件的提前发布的Set,代码及其注释如下/** * Prepare this context for ref...原创 2020-03-17 12:11:28 · 220 阅读 · 0 评论 -
Spring源码深度解析(七)——简单模拟Spring类扫描过程
此文章中会简单的模拟一下Spring的scan方法,Spring底层使用的更优的扫描算法,此处就以简单的文件操作完成实现步骤:自定义注解作为扫描的标识,作用就同@Component作用在Spring中是利用给配置文件中添加@ComponentScan注解,此处就直接写出basePackage,原理和第一点相同调用方法,并打印代码:自定义注解Wa.javapackage anno;...原创 2020-03-16 23:03:08 · 313 阅读 · 0 评论 -
Spring源码深度解析(六)——AnnotationConfigApplicationContext详解
今天的猪脚是AnnotationConfigApplicationContext,记着开始看这个类的时候已经是很久以前了,看起来简简单单几条代码,背后却是上万条。先来整体分析,然后后面再局部剖析。后面就简称为ACACACAC到底是用来干嘛的这个类就是我们常常提到的应用上下文,可以做这么说吧(个人理解),它包含Spring应用的所有信息(包括配置信息),它负责将Spring中零零散散的信息和...原创 2020-03-16 11:19:37 · 5098 阅读 · 0 评论 -
Spring源码深度解析(五)——Spring中的常用后处理器和扩展器
Spring的后处理器的作用是什么?能干什么?有多强大?读完就了解了。可以这么说吧,Spring中Bean的初始化基本就是围着后处理器来完成的功能强化,比如AOP也就借助于后处理器完成的。BeanPostProcessorBeanFactoryPostProcessorBeanDefinitionRegistryPostProcessor继承BeanFactoryPostProcessor...原创 2020-03-15 20:52:01 · 295 阅读 · 0 评论 -
Spring源码深度解析(四)——模拟mybatis和原理分析
说到Mybatis就顺理成章的想起了@Mapper,@MapperScan,@Select,@Update等等注解,下面就来模拟一下它的过程。用到的知识点:自定义注解,FactoryBean,Spring的构造方法装配,ImportBeanDefinitionRegistrar,@Import,JDK动态代理需要去模拟mybatis需要想清楚的是目标是什么?目标就是将抽象接口进行注入值,也...原创 2020-03-15 14:33:57 · 248 阅读 · 0 评论 -
Spring源码深度解析(三)——使用Aware接口编写SpringUtils
在了解过一段时间源码后,深深的被折服,就那简简单单的ApplicationContext初始化那几条代码都够我研究很长一段时间了。Spring强大的地方很多,它留给了我们很多能够扩展的地方比如BeanFactoryPostProcessor,BeanPostProcessor等等,今天来说一个也是很牛的接口就是Aware接口。由于一次我的特殊要求,Spring提供的功能并不能满足我的需求,那我就...原创 2020-03-14 18:34:20 · 233 阅读 · 1 评论 -
Spring5源码深度解析(二)——Spring中的核心类之DefaultListableBeanFactory
说到Spring的核心有很多但是他们有很多就是围绕着下面所讲解的核心类而展开的!DefaultListableBeanFactory对它直译也就是默认的可列的Bean工厂,spring Ioc容器的实现,从根源上是beanfactory,但真正可以作为一个可以独立使用的ioc容器还是DefaultListableBeanFactory。都知道Beans是Spring的基层核心,而它又是be...原创 2019-03-04 19:59:38 · 513 阅读 · 0 评论 -
Spring5源码深度解析(一)——Spring整体架构
开篇:新的一学期,希望可以有新的收获,写这个的目的一方面是增强自己的手写能力和逻辑能力,另外一方面也可以记录自己的学习进度和学习程度。Spring整体架构图:Spring架构分析Core Container(核心容器):里边包含Core,Beans,Context,SpEl(Spring Expression Lanuage)。Core:主要包含Spring框架基本的核心工具类...原创 2019-03-03 22:27:29 · 1276 阅读 · 1 评论