这篇就来记录一下关于Spring中AOP的学习吧。
1、AOP(面向切面编程)
AOP是对于OOP(面向对象编程)的延续,实现了在程序运行期间,可以在不修改源码的前提下(抽取重复代码整合成一个切面类)对已有方法进行增强的功能。
- 优点:
1、减少重复代码;
2、提高开发效率;
3、维护方便。
2、Spring中的AOP
其中的一些术语介绍:
- 1、Joinpoint(连接点): 相当于业务层接口中定义的方法;
- 2、Pointcut(切入点):需要被增强的方法;
- 3、Advice(增强或通知): 加给连接点的一段程序代码。如事务控制(BeforeAdvice、AfterReturningAdvice、ThrowsAdvice)、环绕通知;
- 4、Introduction(引介):可以理解为是一种特殊的增强,它为类添加一些属性和方法。这样,即使一个业务类原本没有实现某个接口,通过引介功能,可以动态的未该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类 (根据其他资料查询的结果)
- 5、Weaving(织入):如加入事务控制的过程;
- 6、Aspect(切面):是切点和增强(引介)的结合
3、在Spring的xml中的简易AOP配置
- 1、坐标导入:
- 2、把增强通知也交给Spring的IOC来管理
- 3、使用aop:config标签开启aop配置
(1)使用aop:aspect标签配置切面(id:切面的唯一标识; ref:指定通知类bean的id)
(2)aop:aspect内配置通知的类型
- 4、切点表达式写法(Pointcut)
关键字:execution(切入点表达式)
实际开发中切入点表达式的通常写法:
切到业务层实现类的所有方法:
* com.it.Service.Impl.*.*(..)
4、配置后的运行结果
- 1、定义测试类
- 2、后台输出
这就是对于spring中AOP的一个简单介绍和在XML中的简单配置。我个人认为它在实现事务控制上起很大的作用。