小马哥讲Spring AOP编程思想--极客时间课程推荐/优惠
深入掌握Spring AOP的核心用法
视频课 | 114讲 | 11464人已学习
优惠价¥68原价:199
官网优惠购买
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- 深入理解底层API的设计思路与实现;
- GoF 23设计模式及AOP的运用详解;
- 掌握AOP组件在Spring内部的运用方法;
- 经典高频Spring AOP面试题详解。
课程介绍
Spring AOP在Spring Framework中启到至关重要的作用,它即是面向对象设计和面向切面设计的纽带,也是连接Spring IoC容器和AOP编程模型的桥梁,Spring AOP与Spring IoC相辅相成,共同衍生出庞大的Spring生态。
学习Spring AOP的关键在于掌握它的设计和实现,以及它在Spring Framework和Spring生态中的运用。因此,本课程采用循序渐进的方式,先从宏观视角通览Spring AOP的功能特性、编程模型以及设计目的,为深度掌握Spring AOP打下坚实基础。再结合实战,提升开发熟练度。随后进入本课程的高潮部分:Spring AOP API设计与实现,我们将大量分析源码,以及其中使用的GoF23设计模式,全面且系统性地掌握Spring AOP API设计思想和具体实现,从而进一步提升自身的开发能力和设计经验。这一定会是你学习Spring AOP的秘籍宝典。
课程目录
第一章:Spring AOP总览
- 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配置驱动和底层API
- 13 | 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 | 面试题精选
第二章:Spring AOP基础
- 22 | Spring核心基础:《小马哥讲Spring核心编程思想》还记得多少?
- 23 | @AspectJ注解驱动
- 24 | 编程方式创建 @AspectJ代理
- 25 | XML配置驱动 - 创建AOP代理
- 26 | 标准代理工厂API - ProxyFactory
- 27 | @AspectJ Pointcut指令与表达式:为什么Spring只能有限支持?
- 28 | XML配置Pointcut
- 30 | @AspectJ拦截动作:@Around与@Pointcut有区别吗?
- 29 | API实现Pointcut
- 31 | XML配置Around Advice
- 32 | API实现Around Advice
- 33 | @AspectJ前置动作:@Before与@Around谁优先级执行?
- 34 | XML配置Before Advice
- 35 | API实现Before Advice
- 36 | @AspectJ后置动作 - 三种After Advice之间的关系?
- 37 | XML配置三种After Advice
- 38 | API实现三种After Advice
- 39 | 自动动态代理
- 40 | 替换TargetSource
- 41 | 面试题精选
第三章:Spring AOP API设计与实现
- 42 | Spring AOP API整体设计
- 43 | 接入点接口 - Joinpoint
- 44 | Joinpoint条件接口 - Pointcut
- 45 | Pointcut操作 - ComposablePointcut
- 46 | Pointcut便利实现
- 47 | Pointcut AspectJ实现 - AspectJExpressionPointcut
- 48 | Joinpoint执行动作接口 - Advice
- 49 | Joinpoint Before Advice标准实现
- 50 | Joinpoint Before Advice AspectJ实现
- 51 | Joinpoint After Advice标准实现
- 52 | Joinpoint After Advice AspectJ实现
- 53 | Advice容器接口 - Advisor
- 54 | Pointcut与Advice连接器 - PointcutAdvisor
- 55 | Introduction与Advice连接器 - IntroductionAdvisor
- 56 | Advisor的Interceptor适配器 - AdvisorAdapter
- 57 | AdvisorAdapter实现
- 58 | AOP代理接口 - AopProxy
- 59 | AopProxy工厂接口与实现
- 60 | JDK AopProxy实现 - JdkDynamicAopProxy
- 61 | CGLIB AopProxy实现 - CglibAopProxy
- 62 | AopProxyFactory配置管理器 - AdvisedSupport
- 63 | Advisor链工厂接口与实现 - AdvisorChainFactory
- 64 | 目标对象来源接口与实现 - TargetSource
- 65 | 代理对象创建基础类 - ProxyCreatorSupport
- 66 | AdvisedSupport事件监听器 - AdvisedSupportListener
- 67 | ProxyCreatorSupport标准实现 - ProxyFactory
- 68 | ProxyCreatorSupport IoC容器实现 - ProxyFactoryBean
- 69 | ProxyCreatorSupport AspectJ实现 - AspectJProxyFactory
- 70 | IoC容器自动代理抽象 - AbstractAutoProxyCreator
- 71 | IoC容器自动代理标准实现
- 72 | IoC容器自动代理 AspectJ 实现 - AspectJAwareAdvisorAutoProxyCreator
- 73 | AOP Infrastructure Bean接口 - AopInfrastructureBean
- 74 | AOP上下文辅助类 - AopContext
- 75 | 代理工厂工具类 - AopProxyUtils
- 76 | AOP工具类 - AopUtils
- 77 | AspectJ Enable模块驱动实现 - @EnableAspectJAutoProxy
- 78 | AspectJ XML配置驱动实现 - <aop:aspectj-autoproxy/>
- 79 | AOP配置Schema-based 实现 - <aop:config/>
- 80 | Aspect Schema-based实现 - <aop:aspect/>
- 81 | Pointcut Schema-based实现 - <aop:pointcut/>
- 82 | Around Advice Schema-based实现 - <aop:around/>
- 83 | Before Advice Schema-based实现 - <aop:before/>
- 84 | After Advice Schema-based实现 - <aop:after/>
- 85 | After Returning Advice Schema-based实现 - <aop:after-returning/>
- 86 | After Throwing Advice Schema-based实现 - <aop:after-throwing/>
- 87 | Adviser Schema-based实现 - <aop:advisor/>
- 88 | Introduction Schema-based实现 - <aop:declare-parents/>
- 89 | 作用域代理Schema-based实现 - <aop:scoped-proxy/>
- 90 | 面试题精选
第四章:Spring AOP设计模式
- 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 | 面试题精选
第五章:Spring AOP在Spring Framework内部应用
- 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 | 结束语
作者介绍
小马哥,《Spring Boot 编程思想》作者。
曾获得 SUN Java(SCJP、SCWCD、SCBCD)以及 Oracle OCA 等的职业认证。作为 Apache Dubbo PMC 和 Spring Cloud 架构师之一,主要负责中间件开源项目、微服务架构衍进,以及 Cloud Native 基础设施建设,所参与的项目现已运行在数以百万级的集群服务器上。
除了日常编码工作,小马哥还时常发表一些技术前瞻性文章,比如:
《2019 中国 Java 发展趋势报告》
《Reactive programming 一种技术 各自表述》
《Dubbo Cloud Native 实践与思考》