// 通用配置
/*
@Pointcut("execution(* *..*.*(..))")
第一个 * 表示 匹配所有返回值类型,包括 void
第二个 * 表示 所有层级下的包
第三个 * 表示 当前包下的所有类
最后一个 * 表示 匹配任意方法名
.. 表示 0 到多个参数
** 表示 1 或多个文件
*/
// 标识型方法
// public void pc(){}
// 1. 增强单个类的单个方法:
// @Pointcut("execution(java.util.List com.itheima.service.impl.DeptServiceImpl.findAll())")
// 2. 增强单个类的多个方法:
// @Pointcut("execution(* com.itheima.service.impl.DeptServiceImpl.*())")
// 3. 匹配所有Service层下的所有方法
// @Pointcut("execution(* com.itheima.service.*.*(..))")
// 4. 匹配所有查询的方法
// @Pointcut("execution(* com.itheima.service.*.find*(..))")
// public void pc(){} // 标识型方法(@Pointcut注解必须要有一个载体)
// 只想要 findAll 和 save
// 自选方法
@Pointcut("@annotation(com.itheima.anno.LogAnno)")
public void pc(){}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通