这章的原标题“给代理对象的属性设置值”,就是把创建代理对象的步骤从在整个创建 Bean 对象之前(不算在 Bean 生命周期中)融入到 Bean 的生命周期中,也就是需要把创建代理对象的逻辑迁移到 Bean 对象执行初始化方法之后,在执行代理对象的创建。但是我已经提前完成了...见mini-Spring 代理篇-AOP:Step 12:将 AOP …
引言 在Spring框架中,依赖注入(Dependency Injection)是核心机制之一,用于管理Bean对象的创建和依赖关系。传统方式依赖XML配置文件手动指定属性值和Bean引用,这种方法在复杂项目中容易导致配置繁琐和维护困难。为简化开发流程,提高代码的可读性和灵活性,Spring引入注解-based注入机制,如@Value用于注入配置值…
前言:为何引入注解 + 扫描机制 在传统的 Spring 应用中,开发者需要在 XML 中显式配置每个 Bean,这种方式一方面繁琐、难以维护;另一方面如果 Bean 数量多、依赖复杂,还容易出错。现代应用更倾向于“约定优于配置”,实现自动化注册: 开发者只需在类上增加注解; 框架通过扫描指定包路径,自动识别并注册所有相关组件; 配置化属性(如 $…
一、引言:为何要将 AOP 动态代理融入 Bean 生命周期 在自定义 AOP 核心功能(例如基于 JDK 或 Cglib 代理)之后,单元测试能验证切面拦截机制是否生效,但这离实际应用还差一大步。为提升框架实用性,我们需要将 AOP 能力无缝嵌入 Spring 容器,让用户仅通过配置即可使用,而无需手动处理代理逻辑(基于 Proxy.newPro…
面向切面编程(AOP,Aspect-Oriented Programming)是一种在软件开发中用于解耦横切关注点的编程范式,通过在不修改业务逻辑的前提下,将统一职责(如日志记录、性能监控、安全校验等)封装到“切面”中。在 Spring 框架中,AOP 是核心机制之一,而其底层的实现依赖于 动态代理技术。本教程将基于 JDK 动态代理与 Cglib…
学习xfg的版本:fuzhengwei/small-spring: 🌱《 Spring 手撸专栏》,本专栏以 Spring 源码学习为目的,通过手写简化版 Spring 框架,了解 Spring 核心原理。在手写的过程中会简化 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下…