解决什么核心痛点
许多后端开发者在日常工作中能熟练编写 Spring AOP 的切入点表达式,也知道如何用注解增强方法,但一旦遇到代理失效、切面顺序错乱或需要自定义通知时,往往只能靠猜测或查阅碎片化的博客解决。这门课的核心价值,在于打通从“会调用”到“懂原理”的黑盒。它不仅梳理了 Spring AOP 的宏观编程模型和设计初衷,更通过深度解析 API 源码,揭示框架内部如何织入增强代码、如何处理横切关注点。对于希望突破初级开发瓶颈,建立扎实底层逻辑的程序员来说,这是一套结构化的进阶路径。通过结合 GoF 设计模式剖析源码,你能明白框架为何这样设计,而不仅仅是怎么使用,从而在复杂业务场景中具备更强的架构思维。
学习门槛与建议路径
这门课程并不适合零基础初学者。前提是你必须熟悉 Java 核心概念,并对 Spring Core 中的 IoC 容器有清晰的理解,知道 Bean 的生命周期和依赖注入机制。如果这些基础不牢固,直接看 AOP 源码会感到非常吃力。建议的学习顺序是:首先,不要跳过宏观视角的部分,花时间吃透 AOP 的功能特性、编程模型及设计目的,这是后续理解的基石。其次,进入实战环节,重点在于提高开发熟练度,这部分内容必须配合实际代码进行跟练,而非仅观看视频。最后,挑战课程的高潮部分——API 设计与实现。这需要较强的代码阅读能力,建议逐行分析源码,关注其中应用的设计模式,将抽象逻辑具象化。整个学习过程需要循序渐进,切忌贪多求快,每一层理解都要建立在扎实的上层基础之上。
学完产出与资料配合
完成这套课程后,你能独立排查 AOP 相关的复杂异常,深入理解 JDK 动态代理与 CGLIB 代理的底层差异及适用场景,不再受限于框架的黑盒操作。更重要的是,你能借鉴 Spring 的设计思想,在自己的业务模块中设计合理的拦截逻辑,或在阅读其他开源框架源码时游刃有余,具备独立解决复杂技术难题的能力。资料包中的视频内容紧凑且逻辑严密,建议严格遵循“概念解析—实战演练—源码剖析”的顺序观看。在观看源码解析部分时,务必同步打开 IDE,对照本地代码进行调试和阅读。尝试在本地项目中手动实现一个简单的 AOP 切面逻辑,将视频中的抽象设计模式转化为具体的代码实践。这种“看、读、写”的配合练习,是真正掌握这套编程思想的关键,能让你从被动使用者转变为具备架构视野的主动设计者。
课程目录
├── 01丨课程介绍.mp4 ├── 02丨内容综述.mp4 ├── 03丨知识储备:基础、基础,还是基础!.mp4 ├── 04丨AOP引入:OOP存在哪些局限性?.mp4 ├── 05丨AOP常见使用场景.mp4 ├── 06丨AOP概念:Aspect、Join Point和Advice等术语应该如何理解?.mp4 ├── 07丨Java AOP设计模式:代理、判断和拦截器模式.mp4 ├── 08丨Java AOP代理模式(Proxy):Java静态代理和动态代理的区别是什么?.mp4 ├── 09丨Java AOP判断模式(Predicate):如何筛选Join Point?.mp4 ├── 10丨Java AOP拦截器模式(Interceptor):拦截执行分别代表什么?.mp4 ├── 11丨Spring AOP 功能概述:核心特性、编程模型和使用限制.mp4 ├── 12丨Spring AOP编程模型:注解驱动、XML配置驱动和底层API.mp4 ├── 13丨Spring AOP设计目标:Spring AOP与 AOP框架之间的关系是竞争还是互补?.mp4 ├── 14丨Spring AOP Advice类型:Spring AOP丰富了哪些AOP Advice呢?.mp4 ├── 15丨Spring AOP代理实现:为什么Spring Framework选择三种不同AOP实现?.mp4 ├── 16丨JDK动态代理:为什么Proxy.newProxyInstance会生成新的字节码?17丨CGLIB动态代理:为什么Java动态代理无法满足AOP的需要?.mp4 ├── 18丨AspectJ代理代理:为什么Spring推荐AspectJ注解?.mp4 ├── 19丨AspectJ基础:Aspect、Join Points、Pointcuts和Advice语法和特性.mp4 ├── 20丨AspectJ注解驱动:注解能完全替代AspectJ语言吗?.mp4 ├── 21丨面试题精选.mp4 ├── 22丨Spring核心基础:《小马哥讲Spring核心编程思想》还记得多少?.mp4 ├── 23丨@AspectJ注解驱动.mp4 ├── 24丨编程方式创建 @AspectJ代理.mp4 ├── 25丨XML配置驱动 – 创建AOP代理.mp4 ├── 26丨标准代理工厂API – ProxyFactory.mp4 ├── 27丨@AspectJ Pointcut指令与表达式:为什么Spring只能有限支持?.mp4 ├── 28丨XML配置Pointcut.mp4 ├── 29丨API实现Pointcut.mp4 ├── 30丨@AspectJ拦截动作:@Around与@Pointcut有区别吗?.mp4 ├── 31丨XML配置Around Advice.mp4 ├── 32丨API实现Around Advice.mp4 ├── 33丨@AspectJ前置动作:@Before与@Around谁优先级执行?.mp4 ├── 34丨XML配置Before Advice.mp4 ├── 35丨API实现Before Advice.mp4 ├── 36丨@AspectJ后置动作 – 三种After Advice之间的关系?.mp4 ├── 37丨XML配置三种After Advice.mp4 ├── 38丨API实现三种After Advice.mp4 ├── 39丨自动动态代理.mp4 ├── 40丨替换TargetSource.mp4 ├── 41丨面试题精选.mp4 ├── 42丨Spring AOP API整体设计.mp4 ├── 43丨接入点接口 – Joinpoint.mp4 ├── 44丨Joinpoint条件接口 – Pointcut.mp4 ├── 45丨Pointcut操作 – ComposablePointcut.mp4 ├── 46丨Pointcut便利实现.mp4 ├── 47丨Pointcut AspectJ实现 – AspectJExpressionPointcut.mp4 ├── 48丨Joinpoint执行动作接口 – Advice.mp4 ├── 49丨Joinpoint Before Advice标准实现.mp4 ├── 50丨Joinpoint Before Advice AspectJ实现.mp4 ├── 51丨Joinpoint After Advice标准实现.mp4 ├── 52丨Joinpoint After Advice AspectJ实现.mp4 ├── 53丨Advice容器接口 – Advisor.mp4 ├── 54丨Pointcut与Advice连接器 – PointcutAdvisor.mp4 ├── 55丨Introduction与Advice连接器 – IntroductionAdvisor.mp4 ├── 56丨Advisor的Interceptor适配器 – AdvisorAdapter.mp4 ├── 57丨AdvisorAdapter实现58丨AOP代理接口 – AopProxy.mp4 ├── 59丨AopProxy工厂接口与实现.mp4 ├── 60丨JDK AopProxy实现 – JdkDynamicAopProxy.mp4 ├── 61丨CGLIB AopProxy实现 – CglibAopProxy.mp4 ├── 62丨AopProxyFactory配置管理器 – AdvisedSupport.mp4 ├── 63丨Advisor链工厂接口与实现 – AdvisorChainFactory.mp4 ├── 64丨目标对象来源接口与实现 – TargetSource.mp4 ├── 65丨代理对象创建基础类 – ProxyCreatorSupport-66丨AdvisedSupport事件监听器 – AdvisedSupportListener.mp4 ├── 67丨ProxyCreatorSupport标准实现 – ProxyFactory.mp4 ├── 68丨ProxyCreatorSupport IoC容器实现 – ProxyFactoryBean.mp4 ├── 69丨ProxyCreatorSupport AspectJ实现 – AspectJProxyFactory.mp4 ├── 70丨IoC容器自动代理抽象 – AbstractAutoProxyCreator.mp4 ├── 71丨IoC容器自动代理标准实现.mp4 ├── 72丨IoC容器自动代理 AspectJ 实现 – AspectJAwareAdvisorAutoProxyCreator.mp4 ├── 73丨AOP Infrastructure Bean接口 – AopInfrastructureBean.mp4 ├── 74丨AOP上下文辅助类 – AopContext.mp4 ├── 75丨代理工厂工具类 – AopProxyUtils.mp4 ├── 76丨AOP工具类 – AopUtils.mp4 ├── 77丨AspectJ Enable模块驱动实现 – @EnableAspectJAutoProxy.mp4 ├── 78丨AspectJ XML配置驱动实现 – aopaspectj-autoproxy.mp4 ├── 79丨AOP配置Schema-based 实现 – aopconfig.mp4 ├── 80丨Aspect Schema-based实现 – aopaspect.mp4 ├── 81丨Pointcut Schema-based实现 – aoppointcut.mp4 ├── 82丨Around Advice Schema-based实现 – aoparound.mp4 ├── 83丨Before Advice Schema-based实现 – aopbefore.mp4 ├── 84丨After Advice Schema-based实现 – aopafter.mp4 ├── 85丨After Returning Advice Schema-based实现 – aopafter-returning.mp4 ├── 86丨After Throwing Advice Schema-based实现 – aopafter-throwing.mp4 ├── 87丨Adviser Schema-based实现 – aopadvisor.mp4 ├── 88丨Introduction Schema-based实现 – aopdeclare-parents.mp4 ├── 89丨作用域代理Schema-based实现 – aopscoped-proxy.mp4 ├── 90丨面试题精选.mp4 ├── 91丨抽象工厂模式(Abstract factory)实现.mp4 ├── 92丨构建器模式(Builder)实现.mp4 ├── 93丨工厂方法模式(Factorymethod)实现.mp4 ├── 94丨原型模式(Prototype)实现.mp4 ├── 95丨单例模式(Singleton)实现.mp4 ├── 96丨适配器模式(Adapter)实现.mp4 ├── 97丨组合模式(Composite)实现.mp4 ├── 98丨装饰器模式(Decorator)实现.mp4 ├── 99丨享元模式(Flyweight)实现.mp4 ├── 100丨代理模式(Proxy)实现.mp4 ├── 101丨模板方法模式(TemplateMethod)实现.mp4 ├── 102丨责任链模式(ChainofResponsibility)实现.mp4 ├── 103丨观察者模式(Observer)实现.mp4 ├── 104丨策略模式(Strategy)实现.mp4 ├── 105丨命令模式(Command)实现.mp4 ├── 106丨状态模式(State)实现.mp4 ├── 107丨面试题精选.mp4 ├── 108丨SpringAOP在Spring事件(Events).mp4 ├── 109丨SpringAOP在Spring事务(Transactions)理论基础.mp4 ├── 110丨SpringAOP在Spring事务(Transactions)源码分析.mp4 ├── 111丨SpringAOP在Spring缓存(Caching).mp4 ├── 112丨SpringAOP在Spring本地调度(Scheduling).mp4 ├── 113丨面试题精选.mp4 ├── 114丨结束语.mp4



![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


