阅读本文前,建议先阅读Spring之基于注解的AOP12.1、环境搭建
创建名为spring_aop_xml的新module,过程参考9.1节12.1.1、配置打包方式和依赖
由控制台日志可知,切面类的前置通知(方法),通过切入点表达式,作用到了目标方法的连接点上
该示例中(前置)通知方法引入了连接点参数,通过连接点参数,可以动态获取(切入点表达式)对应的目标方法的名称和参数列表
切入点表达的详细语法,请参考11.3.2节12.3.1、配置公共的切入点表达式
由控制台日志可知,后置通知在目标对象方法的finally子句中执行(一般用于释放资源)
环绕通知和动态代理的形式,非常相似
注意:因为环绕通知包括了其他四种通知,所以一般要么配置其他四种通知,要么只配置环绕通知;
本示例为了展示效果才同时配置
由控制台日志可知,ValidateAspect切面的前置通知方法生效了,但执行顺序在LoggerAspect切面的前置通知方法的后面
由控制台日志可知,ValidateAspect切面的前置通知方法的执行顺序,在LoggerAspect切面的前置通知方法的前面
这是因为ValidateAspect切面的Order属性值已设为2023,要小于LoggerAspect切面所使用的默认值(Integer的最大值2147483647)
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |