为了账号安全,请及时绑定邮箱和手机立即绑定

Spring之路(42)–Spring AOP是啥?啥时候用?

标签:
Spring

啥是AOP

啥时AOP,其实是英文Aspect Oriented Programming的简写,意思是面向切面编程。

那啥是面向切面编程呢,举个例子,现实社会中你管理的公司有很多车辆,有大货车、有商务车、有叉车、还有垃圾车。

现在有个任务来了,车辆在出发前,必须得登记,那么应该怎么做。

是让每辆车出发前司机去登记么?要是无人车咋办?

那肯定是在车出发前,安排门卫登记,或者装个车牌识别,自动登记了。

看到没,此时车出发就是一个切面,我们精准的发现既然车都要出门,那每个车出门登记的逻辑都是一样的,所以可以按一个规则处理。

也就是说,不是在每个车出门的方法里面写登记的代码,而是指定车出门的时候执行登记。

这就是面向切面编程,也就是AOP。

AOP很重要

Spring世界中,依赖注入和AOP是最重要的组成部分,如果硬要说谁更重要的话,我觉得还是依赖注入,为啥捏,因为Spring程序确实可以不使用AOP,但是不使用依赖注入的Spring程序你见过?

啥时候用AOP

说几个常见的AOP使用场景:

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

总结

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
1.5万
获赞与收藏
1523

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消