Spring-AOP事务管理笔记

一、了解AOP

AOP (Aspect Oriented Programming) AOP是面向切面编程 AOP降低代码耦合性,提高程序的可重用性,提高开发效率 创建使用bean.xml配置文件

二、注解分类和注解AOP

1.切面 :切面一般定义为一个 Java 类, 每个切面侧重于特定的跨领域功能,比如,事务管理或者日志打印等。
2.连接点 :程序执行的某个点,比如方法执行。构造函数调用或者字段赋值等。在 Spring AOP 中,连接点只会有 方法调用 (Method execution)
3.通知 :在连接点要的代码
4.切入点:一个匹配连接点的正则表达式。当一个连接点匹配到切点时,一个关联到这个切点的特定的 通知 (Advice) 会被执行

通知分为:

前置通知
后置通知
异常通知
环绕通知

三、spring AOP的execution注解使用

execution:该指示器用来匹配方法执行连接点,即匹配哪个方法执行如:

@Pointcut("execution(public String aaric.springaopdemo.UserDao.findById(Long))")

四、使用@Acpect实现增加


笔记:


当 Spring IOC 容器侦测到 Bean 配置文件中的 aop:aspectj-autoproxy 元素时, 会自动为与 AspectJ 切面匹配的 Bean 创建代理. •AspectJ 支持 5 种类型的通知注解: –@Before: 前置通知, 在方法执行之前执行 –@After: 后置通知, 在方法执行之后执行 –@AfterRunning: 返回通知, 在方法返回结果之后执行 –@AfterThrowing: 异常通知, 在方法抛出异常之后 –@Around: 环绕通知, 围绕着方法执行

Spring AOP 的两种实现方式分别是注解@(基于AspectJ)和XML配置,虽然方式不同,但万变不离其宗,最终都是运用java反射和动态代理技术(这是JDK方式)或者java反射和CGlib(CGlib方式)。这是Spring内部支持的两种方式。

经验分享 程序员 微信小程序 职场和发展