一、 切面优先级
我们可以声明多个切面类,它们可以同时应用在同一个Target上,但是问题出现了,它们的执行顺序是怎么样的,Spring AOP提供了一个注解用于解决这个问题,@Order,该注解只有一个字段值,默认是整数最大值,也就是最小优先级,说明它的值越小,优先级越高。示例如下:
二、 切点表达式重用
之前我们每声明一个类型的Advice,都会重新写它的切点表达式,但是如果这些切点表达式是重复的,则可以将它们重用,通过使用@Pointcut注解声明一个切面达到这一目的,别的Advice只要引用这个注解标识的方法即可,其他示例如下:
别的Advice引用时,直接在原来声明切点表达式的地方写入该方法即可。
该方法的返回值必须是void类型,其中一般也不添加任何代码,只是和对应的切点表达式绑定在一起,以实现重用的目的。
三、 AOP的XML配置方式