文章 2023-11-23 来自:开发者社区

【Spring Boot 源码学习】自动装配流程源码解析(下)

引言 上篇博文,笔者带大家了解了自动装配流程中有关自动配置加载的流程; 本篇将介绍自动装配流程剩余的内容,包含了自动配置组件的排除和过滤、触发自动配置事件。 主要内容 书接上篇,本篇继续从源码分析自动装配流程: 4. 排除指定自动配置组件 如果我们在实际使用时,并不需要其中的某些组件,那就可以通过 @EnableAutoConfiguration 注解的 exclude 或 excl...

【Spring Boot 源码学习】自动装配流程源码解析(下)
文章 2023-11-21 来自:开发者社区

【Spring Boot 源码学习】自动装配流程源码解析(上)

引言 上篇博文,笔者带大家从整体上了解了AutoConfigurationImportSelector 自动装配逻辑的核心功能及流程,由于篇幅有限,更加细化的功能及流程详解还没有介绍。本篇开始将从其源码入手,重点解析细化后的自动装配流程源码。 主要内容 下面就让我们从 AutoConfigurationImportSelector 的 selectImports 方法源码入手,开始了解自动...

【Spring Boot 源码学习】自动装配流程源码解析(上)
文章 2023-07-24 来自:开发者社区

Spring 填充属性和初始化流程源码剖析及扩展实现

前言在上一篇博文讲解 Spring 实例化的不同方式及相关生命周期源码剖析 介绍了 Spring 实例化的不同方式,本文主要围绕实例化过后对象的填充属性和初始化过程进行详细流程剖析回顾前言知识,doCreateBean->createBeanInstance,通过 Supplier 接口、FactoryMethod、构造函数反射 invoke,创建好实例对象填充属性前置工作之前在 Defa....

Spring 填充属性和初始化流程源码剖析及扩展实现
文章 2023-07-24 来自:开发者社区

Spring 核心类 ConfigurationClassPostProcessor 流程讲解及源码全面分析(三)

解析父类if (sourceClass.getMetadata().hasSuperClass()) { String superclass = sourceClass.getMetadata().getSuperClassName(); if (superclass != null && !superclass.startsWith("java") &&...

文章 2023-07-24 来自:开发者社区

Spring 核心类 ConfigurationClassPostProcessor 流程讲解及源码全面分析(二)

processPropertySource// 如果配置类上加了 @PropertySource 注解,那么就解析加载 properties 文件,并将属性添加到 spring 上下文中 for (AnnotationAttributes propertySource : AnnotationConfigUtils.attributesForRepeatable( sourceClass...

文章 2023-07-24 来自:开发者社区

Spring 核心类 ConfigurationClassPostProcessor 流程讲解及源码全面分析(一)

Spring 核心类 ConfigurationClassPostProcessor 注入流程以及相关的源码解析如下,首先对其类的注入来源进行详细分析介绍在 XML 配置容器方式中,一开始对 XML 文件进行解析,新加了一层层注解 @Configuration、@Bean、@Component 等等,解析&加载的实现,但是其并不影响 Spring 底层的实现,从中体现了 Spring 中....

Spring 核心类 ConfigurationClassPostProcessor 流程讲解及源码全面分析(一)
文章 2023-07-24 来自:开发者社区

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(下)

ConversionService 转换服务转换服务:从一个类型到另外一个类型的转换,提前储备一些转换器,由具体的转换器来完成对应的转换操作接口介绍定义类型转换器依赖于以下比较重要的接口public interface Converter<S, T> { /** * S 类型转换成 T 类型 */ @Nullable T convert(S source); ...

文章 2023-07-24 来自:开发者社区

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(上)

前言Spring 核心方法 refresh 刷新流程简要概述及相关源码剖析(一)继上章分析的继续补充 Refresh 中未分析完的其他方法registerBeanPostProcessors在 Spring 中, AbstractApplicationContext#registerBeanPostProcessors 方法被调用时,会把所有匹配的 BPP 实现类进行实例化并且加载到容器中,以便....

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(上)
文章 2023-07-24 来自:开发者社区

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(下)

prepareBeanFactoryBeanFactory 准备工作,对 BeanFactory 各种属性进行填充源码解析protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory) { // 设置 beanFactory 的 classloader 为当前 context 的 classload...

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(下)
文章 2023-07-24 来自:开发者社区

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(上)

前言在陈旧系统中都是使用 SSM 架构进行搭建,Spring 源码是后续深入理解学习 SpringBoot、SpringCloud 组件所必须依赖的,只是不再采用 XML 方式来进行配置使用,在这里,主要是回顾下最初在使用 Spring 时的核心类「ClassPathXmlApplicationContext」实例过程以及配置文件加载的详细过程,因为后续的核心方法 refresh 内容讲解也得从....

Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

微服务

构建可靠、高效、易扩展的技术基石

+关注