Spring
文章平均质量分 85
Spring for spring
wei198621
说白了,没有什么说的.
展开
-
[死磕 Spring 34/43] --- IOC 之深入分析 Bean 的类型转换体系 -- todo
引用原文:https://www.cmsblogs.com/article/1391375560873218048[死磕 Spring 34/43] — IOC 之深入分析 Bean 的类型转换体系原创 2021-12-20 23:10:49 · 139 阅读 · 0 评论 -
[死磕 Spring 35/43] --- IOC 之自定义类型转换器
引用原文:https://www.cmsblogs.com/article/1391375564018946048[死磕 Spring 35/43] — IOC 之自定义类型转换器原创 2021-12-20 23:10:30 · 154 阅读 · 0 评论 -
[死磕 Spring 43/43] --- 4 张图带你读懂 Spring IOC 的世界
引用原文:https://www.cmsblogs.com/article/1391375643110936576[死磕 Spring 43/43] — 4 张图带你读懂 Spring IOC 的世界正文bean 的转换过程下面这张图演示了一个可用的 bean 是如何从 xml 配置文件中演变过来的。ApplicationContext 的架构图loadBean 的全流程getBean 的全流程...原创 2021-12-20 23:09:45 · 122 阅读 · 0 评论 -
[死磕 Spring 42/43] --- 深入分析 ApplicationContext 的 refresh()
引用原文:https://www.cmsblogs.com/article/1391375623292850176[死磕 Spring 42/43] — 深入分析 ApplicationContext 的 refresh()正文上篇博客只是对 ApplicationContext 相关的接口做了一个简单的介绍,作为一个高富帅级别的 Spring 容器,它涉及的方法实在是太多了,全部介绍是不可能的,而且大部分功能都已经在前面系列博客中做了详细的介绍,所以这篇博问介绍 ApplicationConte原创 2021-12-20 23:09:58 · 166 阅读 · 0 评论 -
[死磕 Spring 41/43] --- ApplicationContext 相关接口架构分析
引用原文:https://www.cmsblogs.com/article/1391385051513622528[死磕 Spring 41/43] — ApplicationContext 相关接口架构分析正文在前面 30 多篇博客中都是基于 BeanFactory 这个容器来进行分析的,BeanFactory 容器有点儿简单,它并不适用于我们生产环境,在生产环境我们通常会选择 ApplicationContext ,相对于大多数人而言,它才是正规军,相比于 BeanFactory 这个杂牌军而言原创 2021-12-19 15:12:24 · 195 阅读 · 0 评论 -
[死磕 Spring 40/43] --- IOC 之 分析 bean 的生命周期 (重点)
引用原文:https://www.cmsblogs.com/article/1391375607128002560[死磕 Spring 40/43] — IOC 之 分析 bean 的生命周期正文在分析 Spring Bean 实例化过程中提到 Spring 并不是一启动容器就开启 bean 的实例化进程,只有当客户端通过显示或者隐式的方式调用 BeanFactory 的 getBean() 方法来请求某个实例对象的时候,它才会触发相应 bean 的实例化进程,当然也可以选择直接使用 Applica原创 2021-12-19 14:53:14 · 257 阅读 · 0 评论 -
[死磕 Spring 39/43] --- Spring 的环境&;属性:PropertySource、Environment、Profile
引用原文:https://www.cmsblogs.com/article/1391375600689745920[死磕 Spring 39/43] — Spring 的环境&属性:PropertySource、Environment、Profile正文spring.profiles.active 和 @Profile 这两个我相信各位都熟悉吧,主要功能是可以实现不同环境下(开发、测试、生产)参数配置的切换。其实关于环境的切换,小编在博客 【死磕Spring】----- IOC 之 Prop原创 2021-12-19 14:12:11 · 157 阅读 · 0 评论 -
[死磕 Spring 38/43] --- IOC 之 BeanDefinition 注册机:BeanDefinitionRegistry
引用原文:https://www.cmsblogs.com/article/1391375590933794816[死磕 Spring 38/43] — IOC 之 BeanDefinition 注册机:BeanDefinitionRegistry正文将定义 bean 的资源文件解析成 BeanDefinition 后需要将其注入容器中,这个过程由 BeanDefinitionRegistry 来完成。BeanDefinitionRegistry:向注册表中注册 BeanDefinition 实例原创 2021-12-19 13:49:47 · 269 阅读 · 0 评论 -
[死磕 Spring 37/43] --- IOC 之 bean 的实例化策略: InstantiationStrategy
引用原文:https://www.cmsblogs.com/article/1391375583832838144[死磕 Spring 37/43] — IOC 之 bean 的实例化策略: InstantiationStrategyinstantiation [ɪnstænʃɪ’eɪʃən] 实例化,例示;正文在开始分析 InstantiationStrategy 之前,我们先来简单回顾下 bean 的实例化过程:bean 的创建,主要是 AbstractAutowireCapabl原创 2021-12-19 13:32:34 · 157 阅读 · 0 评论 -
[死磕 Spring 36/43] --- IOC 之分析 BeanWrapper
引用原文:https://www.cmsblogs.com/article/1391375577302306816[死磕 Spring 36/43] — IOC 之分析 BeanWrapper doCreateBeancreateBeanInstancepopulateBean循环依赖处理initializeBeanAbstractAutowireCapableBeanFactoryinstantiateBeanBeanWrapperImplinitBeanWrapper原创 2021-12-19 13:15:46 · 176 阅读 · 0 评论 -
[死磕 Spring 33/43] --- IOC 之深入分析 PropertyOverrideConfigurer
引用原文:https://www.cmsblogs.com/article/1391375521899745280[死磕 Spring 33/43] — IOC 之深入分析 PropertyOverrideConfigurerSpring 为我们提供了几个常用的 BeanFactoryPostProcessor,他们是PropertyPlaceholderConfigurer 和 PropertyOverrideConfigurer ,他们是下面4片文章https://www.cmsblogs.co原创 2021-12-19 01:02:11 · 218 阅读 · 0 评论 -
[死磕 Spring 32/43] --- IOC 之 PropertyPlaceholderConfigurer 的应用
引用原文:https://www.cmsblogs.com/article/1391375509371359232[死磕 Spring 32/43] — IOC 之 PropertyPlaceholderConfigurer 的应用Spring 为我们提供了几个常用的 BeanFactoryPostProcessor,他们是PropertyPlaceholderConfigurer 和 PropertyOverrideConfigurer ,他们是下面4片文章https://www.cmsblogs原创 2021-12-19 00:28:05 · 166 阅读 · 0 评论 -
[死磕 Spring 31/43] --- IOC 之 深入分析 PropertyPlaceholderConfigurer
引用原文:https://www.cmsblogs.com/article/1391375505458073600[死磕 Spring 31/43] — IOC 之 深入分析 PropertyPlaceholderConfigurerSpring 为我们提供了几个常用的 BeanFactoryPostProcessor,他们是PropertyPlaceholderConfigurer 和 PropertyOverrideConfigurer ,他们是下面4片文章https://www.cmsblog原创 2021-12-19 00:26:12 · 173 阅读 · 0 评论 -
[死磕 Spring 30/43] --- IOC 之 深入分析 BeanFactoryPostProcessor
引用原文:https://www.cmsblogs.com/article/1391375501276352512[死磕 Spring 30/43] — IOC 之 深入分析 BeanFactoryPostProcessorSpring 为我们提供了几个常用的 BeanFactoryPostProcessor,他们是PropertyPlaceholderConfigurer 和 PropertyOverrideConfigurer ,他们是下面4篇文章https://www.cmsblogs.com原创 2021-12-19 01:02:41 · 191 阅读 · 0 评论 -
[死磕 Spring 29/43] --- IOC 之 深入分析 InitializingBean 和 init-method
引用原文:https://www.cmsblogs.com/article/1391375498269036544[死磕 Spring 29/43] — IOC 之 深入分析 InitializingBean 和 init-method正文Spring 在 bean 初始化时进行三个检测扩展,也就是说我们可以对 bean 进行三个不同的定制化处理,前面两篇博客 【死磕 Spring】----- IOC 之 深入分析 Aware 接口 和 【死磕 Spring】----- IOC 之 深入分析 Bea原创 2021-12-18 22:19:31 · 298 阅读 · 0 评论 -
[死磕 Spring 28/43] --- IOC 之 深入分析 BeanPostProcessor
引用原文:[死磕 Spring 28/43] — IOC 之 深入分析 BeanPostProcessorhttps://www.cmsblogs.com/article/1391375487217045504正文Spring 作为优秀的开源框架,它为我们提供了丰富的可扩展点,除了前面提到的 Aware 接口,还包括其他部分,其中一个很重要的就是 BeanPostProcessor。这篇文章主要介绍 BeanPostProcessor 的使用以及其实现原理。我们先看 BeanPostProcess原创 2021-12-18 21:41:57 · 147 阅读 · 0 评论 -
[死磕 Spring 27/43] --- IOC 之 深入分析 Aware 接口
引用原文:[死磕 Spring 27/43] — IOC 之 深入分析 Aware 接口https://www.cmsblogs.com/article/1391375448017080320正文doCreateBean() 方法主要干三件事情:实例化 bean 对象:createBeanInstance()属性注入:populateBean()初始化 bean 对象:initializeBean()而初始化 bean 对象时也是干了三件事情:激活 Aware 方法后置处理器的原创 2021-12-18 20:53:27 · 274 阅读 · 0 评论 -
[死磕 Spring26/43] --- IOC 之加载 bean:总结
引用原文:[死磕 Spring26/43] — IOC 之加载 bean:总结https://www.cmsblogs.com/article/1391375416345890816正文在 【死磕 Spring】 Spring bean 解析篇深入分析了一个配置文件经历了哪些过程转变成了 BeanDefinition,但是这个 BeanDefinition 并不是我们真正想要的想要的 bean,因为它还仅仅只是承载了我们需要的目标 bean 的信息,从 BeanDefinition 到我们需要的原创 2021-12-18 16:02:27 · 141 阅读 · 0 评论 -
[死磕 Spring 25/43] --- IOC 之 bean 的初始化 (doCreateBean 4/4 : initializeBean)
引用原文:[死磕 Spring 25/43] — IOC 之 bean 的初始化 (doCreateBean 4/4 : initializeBean)https://www.cmsblogs.com/article/1391375413305020416 doCreateBeancreateBeanInstancepopulateBean循环依赖处理initializeBean正文一个 bean 经历了 createBeanInstance() 被创建出来,然后又经过一番属性注入原创 2021-12-18 15:32:19 · 103 阅读 · 0 评论 -
[死磕 Spring 24/43] --- IOC 之循环依赖处理 (doCreateBean 3/4 : 循环处理)
[死磕 Spring 24/43] — IOC 之循环依赖处理https://www.cmsblogs.com/article/1391375409916022784 doCreateBeancreateBeanInstancepopulateBean循环依赖处理initializeBean正文这篇分析 doCreateBean() 第三个过程:循环依赖处理。其实循环依赖并不仅仅只是在 doCreateBean() 中处理,其实在整个加载 bean 的过程中都有涉及,所以下篇内容并不仅原创 2021-12-18 14:54:50 · 125 阅读 · 0 评论 -
[死磕 Spring 23/43] --- IOC 之 属性填充
引用原文:https://www.cmsblogs.com/article/1391375401670021120[死磕 Spring 23/43] — IOC 之 属性填充populateBeaninitializeBean正文doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程:createBeanInstance() 实例化 beanpopulateBean() 属性填充循环依赖的处理initializeBean() 初始化原创 2021-12-18 14:26:42 · 121 阅读 · 0 评论 -
[死磕 Spring 22/43] --- IOC 之构造函数实例化 bean (doCreateBean 1/4 : createBeanInstance)
引用原文:https://www.cmsblogs.com/article/1391375397739958272[死磕 Spring 22/43] — IOC 之构造函数实例化 bean正文createBeanInstance() 用于实例化 bean,它会根据不同情况选择不同的实例化策略来完成 bean 的初始化,主要包括:Supplier 回调:obtainFromSupplier()工厂方法初始化:instantiateUsingFactoryMethod()构造函数自动注入初始原创 2021-12-18 11:25:20 · 109 阅读 · 0 评论 -
[死磕 Spring 21/43] --- IOC 之 Factory 实例化 bean
引用原文:https://www.cmsblogs.com/article/1391375394573258752[死磕 Spring 21/43] — IOC 之 Factory 实例化 bean正文这篇我们关注创建 bean 过程中的第一个步骤:实例化 bean,对应的方法为:createBeanInstance(),如下: protected BeanWrapper createBeanInstance(String beanName, RootBeanDefinition原创 2021-12-18 10:48:00 · 167 阅读 · 0 评论 -
[死磕 Spring 20/43] --- IOC 之开启 bean 的实例化进程
引用原文:https://www.cmsblogs.com/article/1391375391788240896[死磕 Spring 20/43] — IOC 之开启 bean 的实例化进程正文在上篇博客【死磕 Spring】----- 加载 bean 之 分析各 scope 的 bean 创建中有一个核心方法没有讲到 createBean() ,该方法的如下: protected abstract Object createBean(String beanName, RootBea原创 2021-12-18 00:06:14 · 83 阅读 · 0 评论 -
[死磕 Spring 19/43] --- IOC 之分析各 scope 的 bean 创建
引用原文:https://www.cmsblogs.com/article/1391375388751564800[死磕 Spring 19/43] — IOC 之分析各 scope 的 bean 创建正文在 Spring 中存在着不同的 scope,默认是 singleton ,还有 prototype、request 等等其他的 scope,他们的初始化步骤是怎样的呢?这个答案在这篇博客中给出。 singleton Spring 的 scope 默认为 singleton,其初始化的代码如下:原创 2021-12-16 23:20:27 · 100 阅读 · 0 评论 -
[死磕 Spring 18/43] --- IOC 之parentBeanFactory 与依赖处理
引用原文:https://www.cmsblogs.com/article/1391375385345789952[死磕 Spring 18/43] — IOC 之parentBeanFactory 与依赖处理正文继上篇博客 【死磕 Spring】----- 加载 bean 之 缓存中获取单例 bean,如果从单例缓存中没有获取到单例 bean,则说明两种情况:该 bean 的 scope 不是 singleton该 bean 的 scope 是 singleton ,但是没有初始化完成原创 2021-12-16 23:14:10 · 194 阅读 · 0 评论 -
[死磕 Spring 17/43] --- IOC 之从单例缓存中获取单例 bean
[死磕 Spring 17/43] — IOC 之从单例缓存中获取单例 beanhttps://www.cmsblogs.com/article/1391375381914849280AbstractBeanFactoryDefaultSingletonBeanRegistry正文从这篇博客开始我们开始加载 bean 的第一个步骤,从缓存中获取 bean,代码片段如下 Object sharedInstance = getSingleton(beanName);原创 2021-12-16 23:01:41 · 131 阅读 · 0 评论 -
[死磕 Spring ] ---苟声汇总
目录[死磕 Spring 01/43 ] — IOC 之深入理解 Spring IoC第一部分 资源加载[死磕 Spring 2/43] — IOC 之 Spring 统一资源加载策略[死磕 Spring 3/43] — IOC 之 加载 Bean[死磕 Spring 4/43] — IOC 之 获取验证模型[死磕 Spring 5/43] — IOC 之 注册 BeanDefinition[死磕 Spring 6/43] — IOC 之 获取 Document 对象[死磕 Spring 7原创 2021-12-16 22:25:35 · 517 阅读 · 0 评论 -
[死磕 Spring 16/43] --- IOC 之开启 bean 的加载
[死磕 Spring 16/43] — IOC 之开启 bean 的加载https://www.cmsblogs.com/article/1391375378504880128正文BeanFactoryAbstractBeanFactoryDefaultListableBeanFactory原创 2021-12-16 22:02:05 · 485 阅读 · 0 评论 -
[死磕 Spring 15/43] --- IOC 之 IOC 初始化总结
[死磕 Spring 15/43] — IOC 之 IOC 初始化总结https://www.cmsblogs.com/article/1391375372632854528正文前面 13 篇博文从源码层次分析了 IOC 整个初始化过程,这篇就这些内容做一个总结将其连贯起来。在前文提过,IOC 容器的初始化过程分为三步骤:Resource 定位、BeanDefinition 的载入和解析,BeanDefinition 注册。Resource 定位。我们一般用外部资源来描述 Bean 对象,所以原创 2021-12-16 01:32:01 · 212 阅读 · 0 评论 -
[死磕 Spring 14/43] --- IOC 之注册解析的 BeanDefinition
[死磕 Spring 14/43] — IOC 之注册解析的 BeanDefinitionhttps://www.cmsblogs.com/article/1391375366089740288正文DefaultBeanDefinitionDocumentReader.processBeanDefinition() 完成 Bean 标签解析的核心工作,如下: protected void processBeanDefinition(Element ele, BeanDefinitio原创 2021-12-16 01:13:24 · 111 阅读 · 0 评论 -
[死磕 Spring 13/43] --- IOC 之解析自定义标签 todo
参考文章: [死磕 Spring 13/43] — IOC 之解析自定义标签 todohttps://www.cmsblogs.com/article/1391375362394558464没有学习 20211216原创 2021-12-16 00:56:16 · 280 阅读 · 0 评论 -
[死磕 Spring 12/43] --- IOC 之解析 bean 标签:解析自定义标签
参考文章:[死磕 Spring 12/43] — IOC 之解析 bean 标签:解析自定义标签https://www.cmsblogs.com/article/1391375348356222976正文前面四篇文章都是分析 Bean 默认标签的解析过程,包括基本属性、六个子元素(meta、lookup-method、replaced-method、constructor-arg、property、qualifier),涉及内容较多,拆分成了四篇文章,导致我们已经忘记从哪里出发的了,勿忘初心。 pro原创 2021-12-16 00:47:45 · 144 阅读 · 0 评论 -
[死磕 Spring 11/43] --- IOC 之解析 bean 标签:constructor-arg、property 子元素
https://www.cmsblogs.com/article/1391375344744927232[死磕 Spring 11/43] — IOC 之解析 bean 标签:constructor-arg、property 子元素git路径https://github.com/wei198621/spring_sike.git参考方法package com.tiza.leo.springsike_apiservice01.loadBeanpackage com.tiza.leo.springs原创 2021-12-16 00:34:27 · 272 阅读 · 0 评论 -
[死磕 Spring 10/43] --- IOC 之解析 bean 标签:meta、lookup-method、replace-method
参考文章: https://www.cmsblogs.com/article/1391375341074911232[死磕 Spring 10/43] — IOC 之解析 bean 标签:meta、lookup-method、replace-method定位本编文章 3/5 BeanDefinitionReader ,XmlBeanDefinitionReader.loadBeanDefinitions() 介绍正文在上篇博客【死磕Spring】----- IOC 之原创 2021-12-15 01:11:39 · 285 阅读 · 0 评论 -
[死磕 Spring 9/43] --- IOC 之解析 bean 标签:BeanDefinition
引用文章: https://www.cmsblogs.com/article/1391375337862074368[死磕 Spring 9/43] — IOC 之解析 bean 标签:BeanDefinition定位本编文章 3/5 BeanDefinitionReader ,XmlBeanDefinitionReader.loadBeanDefinitions() 介绍正文前面历经千辛万苦终于到达解析 bean 标签步骤来了,解析 bean 标签的过程其实就是构造一个原创 2021-12-15 00:10:48 · 109 阅读 · 0 评论 -
[死磕 Spring 8/43] --- IOC 之解析 bean 标签:开启解析进程
https://www.cmsblogs.com/article/1391375334150115328[死磕 Spring 8/43] — IOC 之解析 bean 标签:开启解析进程定位本编文章 3/5 BeanDefinitionReader ,XmlBeanDefinitionReader.loadBeanDefinitions() 介绍正文import 标签解析完毕了,再看 Spring 中最复杂也是最重要的标签 bean 标签的解析过程。 在方法 parseDe原创 2021-12-14 23:42:53 · 107 阅读 · 0 评论 -
[死磕 Spring 7/43] --- IOC 之解析Bean:解析 import 标签
[死磕 Spring 7/43] — IOC 之解析Bean:解析 import 标签https://www.cmsblogs.com/article/1391375331193131008在博客【死磕Spring】----- IOC 之 注册 BeanDefinition中分析到,Spring 中有两种解析 Bean 的方式。如果根节点或者子节点采用默认命名空间的话,则调用 parseDefaultElement() 进行默认标签解析,否则调用 delegate.parseCustomElement(原创 2021-12-14 00:42:47 · 90 阅读 · 0 评论 -
[死磕 Spring 6/43] --- IOC 之 获取 Document 对象
[死磕 Spring 6/43] — IOC 之 获取 Document 对象https://www.cmsblogs.com/article/1391375327816716288定位本编文章 3/5 BeanDefinitionReader ,XmlBeanDefinitionReader.loadBeanDefinitions() 介绍简介在 XmlBeanDefinitionReader.doLoadDocument() 方法中做了两件事情,一是调用 getValid原创 2021-12-14 00:27:37 · 98 阅读 · 0 评论 -
[死磕 Spring 5/43] --- IOC 之 注册 BeanDefinition
参考文章 :[死磕 Spring 5/43] — IOC 之 注册 BeanDefinitionhttps://www.cmsblogs.com/article/1391375296070029312定位本编文章 3/5 BeanDefinitionReader ,XmlBeanDefinitionReader.loadBeanDefinitions() 介绍获取 Document 对象后,会根据该对象和 Resource 资源对象调用 registerBeanDefini原创 2021-12-14 00:07:06 · 96 阅读 · 0 评论