Spring AOP学习笔记(4):AOP切面优先级&切面表达式重用&xml配置方式

一、 切面优先级

我们可以声明多个切面类,它们可以同时应用在同一个Target上,但是问题出现了,它们的执行顺序是怎么样的,Spring AOP提供了一个注解用于解决这个问题,@Order,该注解只有一个字段值,默认是整数最大值,也就是最小优先级,说明 它的值越小,优先级越高。示例如下:
@Aspect
@Order(1)
@Component
public class LoggingAspect {
//...
}

二、 切点表达式重用

之前我们每声明一个类型的Advice,都会重新写它的切点表达式,但是如果这些切点表达式是重复的,则可以将它们重用,通过使用@Pointcut注解声明一个切面达到这一目的,别的Advice只要引用这个注解标识的方法即可,其他示例如下:

@Pointcut("execution(* com.tools.anonymization.controller.AnonymizationController.*(..))")
public void pointcut(){}
	
@Before("pointcut()")
public void loggingBefore(JoinPoint joinPoint){
	logger.info("request parameters:  {}", joinPoint.getArgs());
}
别的Advice引用时,直接在原来声明切点表达式的地方写入该方法即可。
该方法的返回值必须是void类型,其中一般也不添加任何代码,只是和对应的切点表达式绑定在一起,以实现重用的目的。

三、 AOP的XML配置方式

之前我们配置AOP的方式都是通过注解的方式,通过xml的方式也可以实现AOP的配置,但是相对于注解的方式有点繁琐(至少我是这么认为的),所以就不展开说明了,但是作为AOP的一部分,有必要提出来,如果以后有需要的,可以到下面的链接中查看。 http://my.oschina.net/itblog/blog/212056

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值