Spring的基于AspectJ的AOP开发

  • AspetcJ简介

Spring的基于AspectJ的AOP开发

  • 环境准备

Spring的基于AspectJ的AOP开发

Spring基本jar包

Spring的基于AspectJ的AOP开发

spring集成单元测试所用jar包

Spring的基于AspectJ的AOP开发

spring进行传统aop开发所用jar包

Spring的基于AspectJ的AOP开发

spring进行Aspect开发所用jar包(会用到spring进行传统aop开发所用到的jar包)

Spring的基于AspectJ的AOP开发

开启AspectJ的注解开发,自动代理

Spring的基于AspectJ的AOP开发

  • 基于AspectJ的注解方式的AOP开发

Spring的基于AspectJ的AOP开发

在通知中定义切点

Spring的基于AspectJ的AOP开发

  • 编码实现入门案例

Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

也可以通过JoinPoint获得切点信息

Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

环绕通知Spring的基于AspectJ的AOP开发

异常抛出通知Spring的基于AspectJ的AOP开发

环绕 + 异常抛出通知解决事务编码的问题。环绕:前置通知:开启事务,  后置通知:提交事务。如果出现了异常,事务需要回滚,则异常抛出通知可以实现事务回滚的操作。这些spring已经封装好了。

最终通知Spring的基于AspectJ的AOP开发

为切点命名Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

  • 基于AspectJ的xml方式的AOP开发

Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

编码实现

Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发Spring的基于AspectJ的AOP开发

总结:

企业在使用spring进行AOP开发时,都是使用基于AspectJ的方式进行AOP开发,而不是spring传统方式的AOP开发。注解和XML方式都会用到。注解和XML都各有优缺点。如是否需要修改源代码,和是否便捷等。