通过<详解Spring框架AOP中的AspectJ(实战篇)(一)>的学习我们知道了AspectJ中的aspect是自定义通知,那么我们接下来引入Aspectj的aspect(切面)
pointcut + advice
aspect给我们提供了一些通知:通知是在什么时间做什么事情,做的事情是我们自己写的,但是aspect给我们提供了时间
而上面的advice主要是我们自己去写一个自定义的通知然后去实现了methodInterceptor的这样的接口
Aspect
这也是我们后面常规使用AspectJ的一种形式,那么我们介绍下aspect给我们提供的时间(相对于委托类方法的时间)
before、after、around、after-returning、after-throwing

配置
这里要注意,切入点可以再外面切面外面配置也可以在切面里面配置,区别就是作用范围不一样,写在外面就是全局的作用范围,写在里面就是针对当前切面的作用范围

接下来我们还需要一个自定义的切面,并把它注册到容器中
自定义切面

after-returning通知不去做执行委托类结果的修改,只是去获得,around通知才去做对结果的修改
如果抛出异常的话有如下图执行顺序

如果捕获委托类的执行异常,那么就不会执行到after-throwing
本文详细讲解了AspectJ中Aspect的概念,包括pointcut+advice的使用,以及before、after、around等通知类型。重点介绍了如何配置切点和自定义切面,并区分了after-returning和around对执行结果的影响。深入理解了AspectJ在通知时机上的控制。
734

被折叠的 条评论
为什么被折叠?



