AOP —— 切面类 —— 通用配置和自定义配置

// 通用配置
/*
@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(){}
posted @   青核桃啊  阅读(112)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示