作者:hexon

6、扩展:ScopedProxyMode的作用和底层实现

在分析BeanDefinition扫描过程源码时,@ComponentScan注解中有一个ScopedProxyMode,本节我们来了解下它的作用和原理。 内容回顾 其实源码中有两个地方有这个ScopedProxyMode,一个处是在org.springframework.context.annot

hexon hexon 发布于 2025-12-17

5、扩展:ComponentsIndex机制的作用和底层实现

我在分析BeanDefnition扫描过程中,有下面这样一段源码: org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider#findCandidateComponents public Se

hexon hexon 发布于 2025-12-17

4、BeanDefinition扫描过程源码解析

经过前两篇文章的学习,我们已经具备了阅读源码的基础。接下来,我们将正式进入 Spring Bean 生命周期 的学习。 建议的学习路径是:先理解 Bean 的生命周期,再分析容器的启动过程。原因在于: 1. Bean 的扫描与注册是生命周期的起点 容器启动时所做的核心工作之一,就是扫描并解析 Bea

hexon hexon 发布于 2025-12-17

ComponentScan注解属性详解

本文是《BeanDefinition扫描过程源码解析》解析的前置补充文章。 一、基本概述 @ComponentScan 是 Spring 框架中用于自动扫描和注册 Bean 的核心注解。它告诉 Spring 容器在哪些包路径下查找带有 @Component、@Service、@Repository、

hexon hexon 发布于 2025-12-17

3、Spring源码中核心组件的使用与解析

按照常理,上篇文章我们通过手写模拟了Spring的核心原理之后,已经具备了分析源码的基础。不过,在正式进入源码之前,我们还需要专门先来熟悉Spring中的一些核心组件——它们就像一个个关键“点”。而像配置类解析这样的源码流程,则是一条“线”。只有把这些“点”理解透彻,才能连“线”成“面”,真正把握S

hexon hexon 发布于 2025-12-02

2、一节课手写模拟Spring核心原理

在上篇文章中,我们已经将SpringFramework6的源码拉取下来并编译成功了。接下来,我并不打算直接开始源码的阅读与分析。 而是会结合Spring的一些基本用法,先手写模拟下Spring的核心原理,为后面阅读源码梳理一个脉络。 我们将模拟手写以下内容: 手写模拟Spring容器启动过程底层实现

hexon hexon 发布于 2025-11-25

1、Spring6源码编译

本文内容: 拉取springframework 6.2.x源码 JDK21准备 安装Gradle 修改Spring源码中的gradle配置 编译源码 导入IDEA 创建自定义模块 参考文章

hexon hexon 发布于 2025-11-25

九、文件操作

1. 字符编码 计算机存储信息的大小,最基本的单位是字节。 KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 字符编码是将字符集中的字符映射到二进制表示形式的规则集。ASCII、GBK、Unicode和UTF-8是常见的字符编码标准。下面我将对每种编码进行简要介绍:

hexon hexon 发布于 2025-11-04

Python中打包和解包操作符全面总结与示例

本文将系统阐述python中 ** 和 * 操作符的使用,列举常用示例。 1. 打包(Packing)操作 1.1 赋值语句中的打包(* → 列表) # 总是生成列表,即使源是元组 first, *middle,

hexon hexon 发布于 2025-10-28

八、函数基础

经过了前面第一个阶段的学习,基本对Python的语法特点与常用的基本数据类型熟悉了。从本篇开始,我们将进入第二阶段的学习,我们将学习一些诸如函数基础、文件操作、常用模块、模块与包等更加高级的内容,这部分内容其实也是高级编程语言中都有的内容,所以这里定义成基础进阶阶段。下面让我们从函数基础开启新的学习

hexon hexon 发布于 2025-10-28