【学习笔记】AspectJ笔记
AspectJ的概念
- 是一种静态编译期增强性AOP的实现
- 在编译过程中修改代码加入相关逻辑,无需程序员动手
AspectJ具体用法
- 下载安装AspectJ,启动jar文件,安装到JDK目录,添加path和classpath
- 切点与切面代码
- 切点前
package test.aspect; //模拟权限检查 public aspect AuthAspect { before() : execution(* test.service.*.*(..)){ System.out.println("模拟权限检查……"); } }
- 切点后
package test.aspect; //模拟日志输出 public aspect LogAspect{ //定义切点 pointcut logPointCut() : execution(* test.service.*.*(..)); after(): logPointCut(){ System.out.println("模拟日志输出……"); } }
- 环绕
package test.aspect; public aspect TxAspect{ //测试环绕事务 Object around():call(* test.service.*.*(..)){ //代码前执行 System.out.println("模拟开启事务……"); //放行代码 Object rvt = proceed(); //代码后执行 System.out.println("模拟关闭事务……"); return rvt; } }
- 切点定义:
pointcut 切点名称():execution(* 包名.*.*(..));
注意:
- 如果没有事先声明切点,此时可以直接使用execution表达式作为切点使用
- execution关键词可使用call代替
- 声明切点后可以直接使用切点代替execution和call
本文为学习笔记,如需转载请注明出处
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/9629086.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
分类:
Spring/SpringMvc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步