spring
爱吃血肠
本人是个小小程序员,此博客一是为了激励自己学习,二是记录自己的学习历程,以方便及时回顾相关知识。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(十四)Spring中的BeanWrapper及类型转换
Spring官网阅读(十四)Spring中的BeanWrapper及类型转换BeanWrapper是Spring中一个很重要的接口,Spring在通过配置信息创建对象时,第一步首先就是创建一个BeanWrapper。这篇文章我们就分析下这个接口,本文内容主要对应官网中的3.3及3.4小结接口定义// Spring低级JavaBeans基础设施的中央接口。通常来说并不直接使用BeanWrapper,而是借助BeanFactory或者DataBinder来一起使用,BeanWrapper对Spring转载 2020-07-31 17:40:53 · 7131 阅读 · 0 评论 -
(十三)ApplicationContext详解(下)
Spring官网阅读(十三)ApplicationContext详解(下)在前面两篇文章中,我们已经对ApplicationContext的大部分内容做了介绍,包括国际化,Spring中的运行环境,Spring中的资源,Spring中的事件监听机制,还剩唯一一个BeanFactory相关的内容没有介绍,这篇文章我们就来介绍BeanFactory,这篇文章结束,关于ApplicationContext相关的内容我们也总算可以告一段落了。本文对应官网中的1.16及1.15小结前面我们也提到了Applic转载 2020-07-31 17:40:30 · 7727 阅读 · 0 评论 -
(十二)ApplicationContext详解(中)
Spring官网阅读(十二)ApplicationContext详解(中)在上篇文章中我们已经对ApplicationContext的一部分内容做了介绍,ApplicationContext主要具有以下几个核心功能:国际化借助Environment接口,完成了对Spring运行环境的抽象,可以返回环境中的属性,并能出现出现的占位符借助于Resource系列接口,完成对底层资源的访问及加载继承了ApplicationEventPublisher接口,能够进行事件发布监听负责创建、配置及管理Be转载 2020-07-31 17:40:11 · 8771 阅读 · 0 评论 -
循环引用
总结关于循环引用,如何回答面试:首先spring在单例的情况下是默认支持循环引用的(当然原形也有办法,今天先不讨论);在不做任何配置的情况下,两个bean相互依赖是能初始化成功的;spring源码中在创建bean的时候先创建这个bean的对象,创建对象完成之后通过判断容器对象的allowCircularReferences属性决定是否允许缓存这个临时对象,如果能被缓存成功则通过缓存提前暴露这个临时对象来完成循环依赖;而这个属性默认为true,所以说spring默认支持循环依赖的,但是这个属性spring提原创 2020-07-31 17:39:47 · 6193 阅读 · 0 评论 -
(十一)ApplicationContext详细介绍(上)
Spring官网阅读(十一)ApplicationContext详细介绍(上)在前面的文章中,我们已经完成了官网中关于IOC内容核心的部分。包括容器的概念,Spring创建Bean的模型BeanDefinition的介绍,容器的扩展点(BeanFactoryPostProcessor,FactroyBean,BeanPostProcessor)以及最重要的Bean的生命周期等。接下来大概还要花三篇文章完成对官网中第一大节的其它内容的学习,之所以要这么做,是笔者自己粗读了一篇源码后,再读一遍官网,发现源码转载 2020-07-31 17:33:54 · 11385 阅读 · 0 评论 -
(十)Spring中Bean的生命周期(下)
Spring官网阅读(十)Spring中Bean的生命周期(下)在上篇文章中,我们已经对Bean的生命周期做了简单的介绍,主要介绍了整个生命周期中的初始化阶段以及基于容器启动停止时LifeCycleBean的回调机制,另外对Bean的销毁过程也做了简单介绍。但是对于整个Bean的生命周期,这还只是一小部分,在这篇文章中,我们将学习完成剩下部分的学习,同时对之前的内容做一次复习。整个Bean的生命周期,按照我们之前的介绍,可以分为四部分实例化属性注入初始化销毁本文主要介绍实例化及属性注入阶段转载 2020-07-31 13:41:30 · 6128 阅读 · 0 评论 -
(九)Spring中Bean的生命周期(上)
Spring官网阅读(九)Spring中Bean的生命周期(上)在之前的文章中,我们一起学习过了官网上容器扩展点相关的知识,包括FactoryBean,BeanFactroyPostProcessor,BeanPostProcessor,其中BeanPostProcessor还剩一个很重要的知识点没有介绍,就是相关的BeanPostProcessor中的方法的执行时机。之所以在之前的文章中没有介绍是因为这块内容涉及到Bean的生命周期。在这篇文章中我们开始学习Bean的生命周期相关的知识,整个Bean的转载 2020-07-31 11:38:40 · 6365 阅读 · 0 评论 -
(八)容器的扩展点(BeanPostProcessor)
Spring官网阅读(八)容器的扩展点(BeanPostProcessor)在前面两篇关于容器扩展点的文章中,我们已经完成了对BeanFactoryPostProcessor很FactoryBean的学习,对于BeanFactoryPostProcessor而言,它能让我们对容器中的扫描出来的BeanDefinition做出修改以达到扩展的目的,而对于FactoryBean而言,它提供了一种特殊的创建Bean的手段,能让我们将一个对象直接放入到容器中,成为Spring所管理的一个Bean。而我们今天将要转载 2020-07-31 09:40:14 · 6245 阅读 · 0 评论 -
(七)容器的扩展点(FactoryBean)
Spring官网阅读(七)容器的扩展点(二)FactoryBean在上篇文章中我们已经对容器的第一个扩展点(BeanFactoryPostProcessor)做了一系列的介绍。其中主要介绍了Spring容器中BeanFactoryPostProcessor的执行流程。已经Spring自身利用了BeanFactoryPostProcessor完成了什么功能,对于一些细节问题可能说的不够仔细,但是在当前阶段我想要做的主要是为我们以后学习源码打下基础。所以对于这些问题我们暂且不去过多纠结,待到源码学习阶段我们转载 2020-07-30 18:22:52 · 6257 阅读 · 0 评论 -
(五)BeanDefinition(下)
Spring官网阅读(五)BeanDefinition(下)上篇文章已经对BeanDefinition做了一系列的介绍,这篇文章我们开始学习BeanDefinition合并的一些知识,完善我们整个BeanDefinition的体系,Spring在创建一个bean时多次进行了BeanDefinition的合并,对这方面有所了解也是为以后阅读源码做准备。本文主要对应官网中的1.7小节我们学习了BeanDefinition的一些属性,其中有以下几个属性:// 是否抽象boolean isAbstra转载 2020-07-30 14:06:38 · 6216 阅读 · 0 评论 -
(四)BeanDefinition(上)
Spring官网阅读(四)BeanDefinition(上)前面几篇文章已经学习了官网中的1.2,1.3,1.4三小结,主要是容器,Bean的实例化及Bean之间的依赖关系等。这篇文章,我们继续官网的学习,主要是BeanDefinition的相关知识,这是Spring中非常基础的一块内容,也是我们阅读源码的基石。本文主要涉及到官网中的1.3及1.5中的一些补充知识。同时为我们1.7小节中BeanDefinition的合并做一些铺垫BeanDefinition是什么?我们先看官网上是怎么解释的:转载 2020-07-30 10:10:55 · 6373 阅读 · 0 评论 -
Spring中四种实例化bean的方式
Spring IoC容器如何实例化Bean呢?传统应用程序可以通过new和反射方式进行实例化Bean。而Spring IoC容器则需要根据Bean定义里的配置元数据使用反射机制来创建Bean。在Spring IoC容器中根据Bean定义创建Bean主要有以下几种方式:第一种:使用构造器实例化Bean:这是最简单的方式,Spring IoC容器即能使用默认空构造器也能使用有参数构造器两种方式创建Bean,如以下方式指定要创建的Bean类型:使用空构造器进行定义,使用此种方式,class属性指定的类必须有空原创 2020-07-28 17:27:57 · 8154 阅读 · 0 评论
分享