21|再回首: 如何实现Spring AOP?
郭屹
你好,我是郭屹。
到这一节课,我们的 Spring AOP 部分也就结束了,你是不是跟随我的这个步骤也实现了自己的 AOP 呢?欢迎你把你的实现代码分享出来,我们一起讨论,共同进步!为了让你对这一章的内容掌握得更加牢固,我们对 AOP 的内容做一个重点回顾。
重点回顾
Spring AOP 是 Spring 框架的一个核心组件之一,是 Spring 面向切面编程的探索。面向对象和面向切面,两者一纵一横,编织成一个完整的程序结构。
在 AOP 编程中,Aspect 指的是横切逻辑(cross-cutting concerns),也就是那些和基本业务逻辑无关,但是却是很多不同业务代码共同需要的功能,比如日志记录、安全检查、事务管理,等等。Aspect 能够通过 Join point,Advice 和 Pointcut 来定义,在运行的时候,能够自动在 Pointcut 范围内的不同类型的 Advice 作用在不同的 Join point 上,实现对横切逻辑的处理。
所以,这个 AOP 编程可以看作是一种以 Aspect 为核心的编程方式,它强调的是将横切逻辑作为一个独立的属性进行处理,而不是直接嵌入到基本业务逻辑中。这样做,可以提高代码的可复用性、可维护性和可扩展性,使得代码更容易理解和设计。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Spring AOP是Spring框架的核心组件之一,实现了面向切面编程的探索。在AOP编程中,Aspect通过Join point、Advice和Pointcut来定义,实现对横切逻辑的处理。本文介绍了如何基于JDK动态代理实现AOP,并探讨了扩展到支持Cglib、在方法前后进行拦截、批量匹配代理方法以及自动添加动态代理的方法。通过对每个主题的思考题和参考答案的讨论,读者可以深入了解Spring AOP的实现原理和扩展方法。文章通过实际代码示例和思考题引导读者深入思考和实践,使得读者能够更好地掌握Spring AOP的核心概念和实现技术。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 MiniSpring》,新⼈⾸单¥59
《手把手带你写一个 MiniSpring》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- __@Wong这个课程终于学完了,讲实话收获很多。上班偷着看课程到周末写代码,前前后后花了一个多月的时间。之前也有看过spring的源码,但是看后基本忘记了。感谢本课程作者,将Spring庞大的体系进行了拆解剥离出主干,大大降低了spring学习起来的困难程度,学完对spring的体系也有了深层次的认识。一方面对spring的流程加深了理解,另一方面学习spring的优秀的架构体系设计。 git地址贴这里了,喜欢的点个小星星,建议一开始使用maven来构建项目方便很多 期待后续miniTomcat课程。 https://github.com/hhhhhzj/mini-spring/tree/master
作者回复: 赞你!
2023-06-24归属地:广东23 - 1184507801老师你发的源码地址失效了啊
作者回复: 你多试几次,国内访问Github不稳定。我后面的MiniTomcat课程让助手搬到国内的Gitee了
2024-01-09归属地:广东 - 风轻扬期待miniTomcat课程
作者回复: 会有的
2023-06-07归属地:北京 - peterPatternMatchUtils是SDK提供的,怎么增加方法?派生一个类吗?
作者回复: util下的一个工具类,看github
2023-04-29归属地:北京 - dll终于花了一个礼拜摸鱼学完了,我的代码在https://github.com/dll02/mini_spring ,环境搭建最大的难度是idea启动tomcat那里,主要需要确认编译后的代码处在out目录里生成的文件结构是否是预期的,启动以后打开tomcat对应的manager页面,检查加载进tomcat的模块名字,最后还需要注意tomcat和使用http serverlet包的匹配,其他的网上都有资料,对照检查。 很期待老师其他的课程,手写tomcat啥的,自己学习如何从零造框架确实很有助于自己学习理解代码,精进自己的代码手艺。 谢谢老师分享教学。2023-08-16归属地:上海
收起评论