Spring框架教程
Spring IOC控制反转
Spring AOP面向切面编程
Spring集成MyBatis
Spring事务
Spring与Web

Spring AOP 引入

Step1:项目 aop_leadin1

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

● doTransaction():用于事务处理

● doLog():用于日志处理

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

Step2:项目 aop_leadin2

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

Step3:项目 aop_leadin3

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

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

 

全部教程