01 | 课程介绍02 | 内容综述03 | 知识储备:基础、基础,还是基础!04 | AOP引入:OOP存在哪些局限性?05 | AOP常见使用场景06 | AOP概念:Aspect、Join Point和Advice等术语应该如何理解?07 | Java AOP设计模式:代理、判断和拦截器模式08 | Java AOP代理模式(Proxy):Java静态代理和动态代理的区别是什么?09 | Java AOP判断模式(Predicate):如何筛选Join Point?10 | Java AOP拦截器模式(Interceptor):拦截执行分别代表什么?11 | Spring AOP 功能概述:核心特性、编程模型和使用限制12 | Spring AOP编程模型:注解驱动、XML配置驱动和底层API13 | Spring AOP设计目标:Spring AOP与 AOP框架之间的关系是竞争还是互补?14 | Spring AOP Advice类型:Spring AOP丰富了哪些AOP Advice呢?15 | Spring AOP代理实现:为什么Spring Framework选择三种不同AOP实现?16 | JDK动态代理:为什么Proxy.newProxyInstance会生成新的字节码?17 | CGLIB动态代理:为什么Java动态代理无法满足AOP的需要?18 | AspectJ代理代理:为什么Spring推荐AspectJ注解?19 | AspectJ基础:Aspect、Join Points、Pointcuts和Advice语法和特性20 | AspectJ注解驱动:注解能完全替代AspectJ语言吗?21 | 面试题精选
22 | Spring核心基础:《小马哥讲Spring核心编程思想》还记得多少?23 | @AspectJ注解驱动24 | 编程方式创建 @AspectJ代理25 | XML配置驱动 - 创建AOP代理26 | 标准代理工厂API - ProxyFactory27 | @AspectJ Pointcut指令与表达式:为什么Spring只能有限支持?28 | XML配置Pointcut29 | API实现Pointcut30 | @AspectJ拦截动作:@Around与@Pointcut有区别吗?31 | XML配置Around Advice32 | API实现Around Advice33 | @AspectJ前置动作:@Before与@Around谁优先级执行?34 | XML配置Before Advice35 | API实现Before Advice36 | @AspectJ后置动作 - 三种After Advice之间的关系?37 | XML配置三种After Advice38 | API实现三种After Advice39 | 自动动态代理40 | 替换TargetSource41 | 面试题精选
42 | Spring AOP API整体设计43 | 接入点接口 - Joinpoint44 | Joinpoint条件接口 - Pointcut45 | Pointcut操作 - ComposablePointcut46 | Pointcut便利实现47 | Pointcut AspectJ实现 - AspectJExpressionPointcut48 | Joinpoint执行动作接口 - Advice49 | Joinpoint Before Advice标准实现50 | Joinpoint Before Advice AspectJ实现51 | Joinpoint After Advice标准实现52 | Joinpoint After Advice AspectJ实现53 | Advice容器接口 - Advisor54 | Pointcut与Advice连接器 - PointcutAdvisor55 | Introduction与Advice连接器 - IntroductionAdvisor56 | Advisor的Interceptor适配器 - AdvisorAdapter57 | AdvisorAdapter实现58 | AOP代理接口 - AopProxy59 | AopProxy工厂接口与实现60 | JDK AopProxy实现 - JdkDynamicAopProxy61 | CGLIB AopProxy实现 - CglibAopProxy62 | AopProxyFactory配置管理器 - AdvisedSupport63 | Advisor链工厂接口与实现 - AdvisorChainFactory64 | 目标对象来源接口与实现 - TargetSource65 | 代理对象创建基础类 - ProxyCreatorSupport66 | AdvisedSupport事件监听器 - AdvisedSupportListener67 | ProxyCreatorSupport标准实现 - ProxyFactory68 | ProxyCreatorSupport IoC容器实现 - ProxyFactoryBean69 | ProxyCreatorSupport AspectJ实现 - AspectJProxyFactory70 | IoC容器自动代理抽象 - AbstractAutoProxyCreator71 | IoC容器自动代理标准实现72 | IoC容器自动代理 AspectJ 实现 - AspectJAwareAdvisorAutoProxyCreator73 | AOP Infrastructure Bean接口 - AopInfrastructureBean74 | AOP上下文辅助类 - AopContext75 | 代理工厂工具类 - AopProxyUtils76 | AOP工具类 - AopUtils77 | AspectJ Enable模块驱动实现 - @EnableAspectJAutoProxy78 | AspectJ XML配置驱动实现 -
91 | 抽象工厂模式(Abstract factory)实现92 | 构建器模式(Builder)实现93 | 工厂方法模式(Factory method)实现94 | 原型模式(Prototype)实现95 | 单例模式(Singleton)实现96 | 适配器模式(Adapter)实现97 | 组合模式(Composite)实现98 | 装饰器模式(Decorator)实现99 | 享元模式(Flyweight)实现100 | 代理模式(Proxy)实现101 | 模板方法模式(Template Method)实现102 | 责任链模式(Chain of Responsibility)实现103 | 观察者模式(Observer)实现104 | 策略模式(Strategy)实现105 | 命令模式(Command)实现106 | 状态模式(State)实现107 | 面试题精选
108 | Spring AOP在 Spring 事件(Events)109 | Spring AOP在Spring 事务(Transactions)理论基础110 | Spring AOP在Spring 事务(Transactions)源码分析111 | Spring AOP在Spring 缓存(Caching)112 | Spring AOP在Spring本地调度(Scheduling)113 | 面试题精选114 | 结束语