spring源码
文章平均质量分 88
jessionlist
这个作者很懒,什么都没留下…
展开
-
spring官网笔记12
Spring官网阅读(十二) ApplicationContext详解(中) 在上篇文章中我们已经对ApplicationContext中的一部分内容做了介绍,ApplicationContext主要有以下几个核心功能: 1、国际化 2、借助Environment接口,完成了对Spring运行环境的抽象,可以返回环境中的属性,并能出现占位符 3、借助Resource系列的接口,完成对底层资源的访问和加载 4、继承了ApplicationEventPublisher接口,能够进行事件发布监听 5、负责创建、配原创 2021-06-07 15:50:21 · 95 阅读 · 0 评论 -
spring官网笔记11
Spring官网阅读(十一) ApplicationContext 详细介绍(上) 在前面的文章中,我们已经完成了官网关于IOC内容的核心部分。包括容器的概念,Spring创建Bean的模型BeanDefinition的介绍。容器的扩展点(BeanFactoryPostProcessor,BeanPostProcessor,FactoryBean),以及重要的Bean的生命周期等。接下来大概花三篇文章对官网的第一大节的其它内容的学习,之所以要这么做,是笔者粗读了一遍源码之后,再读一遍官网,发现源码中很多难点原创 2021-05-31 22:42:24 · 190 阅读 · 0 评论 -
spring官网笔记10
Spring生命周期(下) 在上篇文章中,我们已经对Bean的生命周期做了简单的介绍,主要介绍了整个生命周期中的初始化阶段以及基于容器启动停止时LifecycleBean的回调机制,另外对于Bean的销毁过程做了简单的介绍,但是对于整个Bean的生命周期,这还只是一小部分,在这篇文章中,我们将学习完剩下部分的学习,同时对之前内容做一次复习,整个Bean的生命周期,按照我们之前的介绍,可以分为四部分 实例化 属性注入 初始化 销毁 本文介绍实例化及属性注入阶段 生命周期概念补充 虽然我们一直说整个Bean的生原创 2021-05-31 22:36:49 · 67 阅读 · 0 评论 -
spring官网笔记9
Spring中Bean的生命周期(上) 在之前的文章中,我们一起学习了官网上容器扩展的相关知识点,包括FactoryBean,BeanFactoryPostProcessor,BeanPostProcessor,其中BeanPostProcessor还剩一个很重要的知识点没有介绍,就是相关BeanPostProcessor中的方法的执行时机。之所以在之前的文章中没有介绍因为这块涉及到Bean的生命周期,在这篇文章中我们开始学习Bean的生命周期相关知识,整个Bean的生命周期可以分为以下几个阶段: 实例化(原创 2021-05-31 22:32:51 · 131 阅读 · 0 评论 -
spring官网笔记8
Spring容器的扩展点(三)BeanPostProcessor 按照惯例,我们先看看官网对BeanPostProcessor的介绍 从这段文字中我们能获取到如下信息: 1、BeanPostProcessor接口定义了两个回调方法,通过实现这两个方法我们可以提供自己的实例化以及依赖注入等逻辑。而且,如果我们想要在spring容器完成实例化,配置以及初始化一个Bean后进行一些定制的逻辑,我们可以插入一个甚至更多的BeanPostProcesor的实现。 2、我们可以配置多个BeanPostProcesso原创 2021-05-31 22:29:02 · 116 阅读 · 0 评论 -
spring官网笔记7
Spring容器的扩展点(二)FactoryBean 我们还是先看一下官网上是怎么说的: 从上面这段文字我们可以得出几个信息 1、FactoryBean主要是用来定制化Bean的创建逻辑 2、当我们实例化一个Bean的逻辑很复杂的时候,使用FactoryBean是很有必要的,这样可以规避我们去使用冗长的XML配置 3、FactoryBean提供了以下三个方法 T getObject() throws Exception;//返回这个FactoryBean所创建出来的对象 Class<?> ge原创 2021-05-31 22:24:40 · 54 阅读 · 0 评论 -
spring官网笔记6
容器的扩展点(一)BeanFactoryPostProcessor 首先我们先看看官网怎么说的: 从上面这段话,我们可以总结如下几点: 1、BeanFactoryPostProcessor可以对Bean配置元数据进行操作,也就是说,S容器允许BeanFactoryPostProcessor读取指定Bean的配置元数据,并可以在Bean被实例化之前修改它,这里说的配置元数据其实就是我们讲过的Beandefinition. 2、我们可以配置多个BeanFactoryPostProcessor,并且我们只要配置原创 2021-05-31 22:18:37 · 75 阅读 · 0 评论 -
spring官网笔记5
BeanDefinition的合并 什么是合并?为什么需要合并。 在上篇文章中,我们学习了BeanDefinition的一些属性,其中有以下几个属性: /** * Return whether this bean is "abstract", that is, not meant to be instantiated. * 跟合并的beanDefinition相关,如果是abstract,说明会被作为一个父BeanDefinition,不提供class属性 */ boolean isAbst原创 2021-05-31 22:07:12 · 132 阅读 · 0 评论 -
spring官网笔记4
Beandefinition是什么? 我们先来看官网是怎么解释的? 从上文中我们可以得出以下几点结论: 1、Beandefinition包含了我们对bean做的配置,比如XML<bean/>标签的形式进行配置 2、换言之,spring将我们对bean的定义信息进行了抽象,抽象后的实体就是beanDefinition,并且spring会以此作为标准来对bean进行创建 3、Beandefinition包含以下元数据: 3.1、一个全限定类名,通常来说,就是对应的bean的全限定类名原创 2021-05-31 22:03:52 · 97 阅读 · 0 评论 -
spring官网笔记3
前言: 在看下面的内容之前,我们要对自动注入和精确注入有一个大概的了解,所谓精确注入就是指我们通过构造函数或者setter方法指定了我们对象之间的依赖,也就是上篇讲的依赖注入然后spring根据我们指定的依赖关系,精确的给我们完成了注入,那么自动注入是什么?我们看一下下面一段代码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmln原创 2021-05-31 21:59:05 · 63 阅读 · 0 评论 -
spring官网笔记2
文章目录文章目录依赖注入 文章目录 依赖注入 根据官网介绍,依赖注入主要分两种方式 1、构造函数注入 2、Setter方法注入 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3PXVT1K-1622468780668)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20201127094516839.png)] 我们分别对这两种方法进行测试,官网上用的是XML,我这里采用注解方式。 测试代码如原创 2021-05-31 21:53:32 · 82 阅读 · 0 评论 -
spring官网笔记1
Spring容器 容器是什么? 容器如何工作? Spring容器 容器是什么? 我们先看官网中的一句话: 翻译如下: org.springframework.context。ApplicationContext接口表示Spring IoC容器,并负责实例化、配置和组装bean。 那么我们就可以说: 从代码层次来看:Spring容器就是一个实现了ApplicationContext的接口的对象。 从功能上来看:SPring容器是Spring框架的核心,是用来管理对象的。容器原创 2020-09-23 20:31:40 · 450 阅读 · 1 评论