Spring之路(42)–Spring AOP是啥?啥时候用?
2020/2/17 8:17:18
本文主要是介绍Spring之路(42)–Spring AOP是啥?啥时候用?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
啥是AOP
啥时AOP,其实是英文Aspect Oriented Programming
的简写,意思是面向切面编程。
那啥是面向切面编程呢,举个例子,现实社会中你管理的公司有很多车辆,有大货车、有商务车、有叉车、还有垃圾车。
现在有个任务来了,车辆在出发前,必须得登记,那么应该怎么做。
是让每辆车出发前司机去登记么?要是无人车咋办?
那肯定是在车出发前,安排门卫登记,或者装个车牌识别,自动登记了。
看到没,此时车出发就是一个切面,我们精准的发现既然车都要出门,那每个车出门登记的逻辑都是一样的,所以可以按一个规则处理。
也就是说,不是在每个车出门的方法里面写登记的代码,而是指定车出门的时候执行登记。
这就是面向切面编程,也就是AOP。
AOP很重要
Spring世界中,依赖注入和AOP是最重要的组成部分,如果硬要说谁更重要的话,我觉得还是依赖注入,为啥捏,因为Spring程序确实可以不使用AOP,但是不使用依赖注入的Spring程序你见过?
啥时候用AOP
说几个常见的AOP使用场景:
- 事务处理。凡是要求几个更新数据库的操作必须一起成功一起失败的时候,必然要加事务。每个加事务的逻辑都一样,开启事务、操作数据库、提交事务、如果有异常回滚。这就可以用面向切面编程啊,切面就是执行多个更新的方法。
- 异常统一处理。抛出异常,到处处理,太麻烦了,因为很多异常其实是一个类型的。能不能统一管理?必须能啊,AOP啊,切面就是抛出异常的方法。
- 方法执行时间统计。有时候项目部署后,想跟踪下项目中各个方法的运行时间,以便排查执行缓慢消耗系统性能的方法。这就是一个切面啊,你想检查的那些方法就是切面。
总结
可见AOP就是制定一个规则,然后在符合规则的地方插入我们指定的代码逻辑。指定的规则就是所谓的切面,所以叫面向切面编程。
这篇关于Spring之路(42)–Spring AOP是啥?啥时候用?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行