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使用场景:

  1. 事务处理。凡是要求几个更新数据库的操作必须一起成功一起失败的时候,必然要加事务。每个加事务的逻辑都一样,开启事务、操作数据库、提交事务、如果有异常回滚。这就可以用面向切面编程啊,切面就是执行多个更新的方法。
  2. 异常统一处理。抛出异常,到处处理,太麻烦了,因为很多异常其实是一个类型的。能不能统一管理?必须能啊,AOP啊,切面就是抛出异常的方法。
  3. 方法执行时间统计。有时候项目部署后,想跟踪下项目中各个方法的运行时间,以便排查执行缓慢消耗系统性能的方法。这就是一个切面啊,你想检查的那些方法就是切面。

总结

可见AOP就是制定一个规则,然后在符合规则的地方插入我们指定的代码逻辑。指定的规则就是所谓的切面,所以叫面向切面编程。

点击查看更多内容


这篇关于Spring之路(42)–Spring AOP是啥?啥时候用?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程