aop 几个应用场景:
1、用于日志打印
2、用于全局异常处理拦截
3、返回值统一处理
4、多数据源切换
execution(方法表达式)
execution(* cn.sunpiaoliang.service...(..))
cn.sunpiaoliang.service 这个路径下的包或子包所有方法和所有类型的参数 返回值为任何类型
注:
第一个 “” 任何类型返回值
cn.sunpiaoliang.service 路径
.. 包或子包
第二个“” 所有类
- 任何方法
(..) 任意方法 (*)只有一个参数 ()不带参数
@annotation
匹配当前执行方法持有指定注解的方法,可以直接写注解,也可以直接写全路径
@within
匹配所以持有指定注解类型内的方法,全路径
aop主要是通过代理实现
1、JDK代理
2、CGlib 代理
网友评论