1、通知类型
- @Before — 前置通知
- @AfterReturning — 后置通知
- @Around — 环绕通知(目标对象默认不执行,需要手动执行)
- @After — 最终通知
- @AfterThrowing — 异常抛出通知
2.注意要点
- 异常通知和后置通知是互斥的,两者只能执行一个。
-
在基于注解通知的配置中,正常的执行顺序是前置通知->最终通知->后置通知,这种执行顺序会导致一个问题
就是在自定义事务中,先执行后置通知释放了资源(连接对象),然后在进行提交。这样事物的连接对象就不一致了,无法实现事物的控制。
- 为了避免在注解Aop通知的执行顺序问题,最好采用环绕通知的方法。