java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5052| 回复: 0

AOP 引入(理解)

AOP 引入(理解)

Step1:项目 aop_leadin1

先定义好接口与一个实现类,该实现类中除了要实现接口中的方法外,还要再写两个非业务方法。非业务方法也称为交叉业务逻辑:

➢ doTransaction():用于事务处理

➢ doLog():用于日志处理

然后,再使接口方法调用它们。接口方法也称为主业务逻辑。

AOP 引入(理解)_www.wityx.com

Step2:项目 aop_leadin2

当然,也可以有另一种解决方案:将这些交叉业务逻辑代码放到专门的工具类或处理类中,由主业务逻辑调用。

AOP 引入(理解)_www.wityx.com

Step3:项目 aop_leadin3

以上的解决方案,还是存在弊端:交叉业务与主业务深度耦合在一起。当交叉业务逻辑较多时,在主业务代码中会出现大量的交叉业务逻辑代码调用语句,大大影响了主业务逻辑的可读性,降低了代码的可维护性,同时也增加了开发难度。

所以,可以采用动态代理方式。在不修改主业务逻辑的前提下,扩展和增强其功能。

AOP 引入(理解)_www.wityx.com

AOP 引入(理解)_www.wityx.com


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1236_1_1.html


java面试题交流群:327440556

上一篇:AOP 概述(理解) 下一篇:动态代理
您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018