首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring AOP

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

AOP 面向切面编程(代理模式)

面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

简单举例:

你的程序写好了 现在发现要针对所有业务操作添加一个日志,或者在前面加一道权限控制,怎么办呢? 传统的做法是,改造每个业务方法 这样势必把代码弄得一团糟 而且以后再扩展还是更乱 aop的思想是引导你从另一个切面来看待和插入这些工作 日志,不管加在哪,它其实都是属于日志系统这个角度的 权限控制也一样 aop允许你以一种统一的方式在运行时期在想要的地方插入这些逻辑。

一个项目的正常流程

如果事务放在视图层的话,就无法判断业务是否成功,所以一般事务会放在逻辑层。

今后我们的事务都是交给AOP的,我们只需要关心逻辑。

一个简易的代理样式

总结:

这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180306A1JQNV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券