首页 > 其他分享 >AOP - 切点表达式

AOP - 切点表达式

时间:2024-10-20 09:43:30浏览次数:1  
标签:.. service 方法 切点 AOP execution com example 表达式

  • 某个特殊的方法:com.example.service.UserService 类中所有以 find 开头的公共方法

    execution(public * com.example.service.UserService.find*(..))

  • 类中的所有方法:com.example.service 包下所有类的所有方法

    execution(* com.example.service.*.*(..))

  • 特定参数类型的方法:com.example.service.UserService 类中接受一个 User 对象作为参数的方法

    execution(String com.example.service.UserService.getName(..))

  • com.example.service 包及其子包下的所有类中的所有方法

    execution(* com.example.service..*.*(..))

  • com.example.service 包及其子包下的所有类中的所有方法

    within 不能指定某个方法,本身是类级别的;execution 可以指定某个方法

    如果exection 切某个包及其子包下所有方法就和 within 功能一样了

    within(com.example.service..*)

  • 带有特定注解的方法:被 @Loggable 注解标记的方法

    @annotation(com.example.annotation.Loggable)

  • 结合多个条件:匹配 com.example.service 包中所有被 @Loggable 注解标记的方法

    execution(* com.example.service.*.*(..)) && @annotation(com.example.annotation.Loggable)

  • 有异常抛出的方法:匹配 com.example.service 包下所有方法,并且这些方法抛出 Exception

    execution(* com.example.service.*.*(..)) throws Exception

标签:..,service,方法,切点,AOP,execution,com,example,表达式
From: https://www.cnblogs.com/cyrushuang/p/18486957

相关文章

  • AOP - Advisor 示例
    定义通知publicclassLoggingAdviceimplementsMethodInterceptor{@OverridepublicObjectinvoke(MethodInvocationinvocation)throwsThrowable{System.out.println("Method"+invocation.getMethod().getName()+"isbeingcalle......
  • AOP - AspectJ 示例
    //自定义注解@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public@interfaceLogExecution{}@Aspect//切面类@Order(1000)//数字越小,优先级越高@Component//也要注册到容器publicclassLoggingAspect{//定义切点@Pointcut("ex......
  • P2-3与P2-4.【基本数据类型、运算符和表达式】第三节与第四节
    讲解视频:P2-3.【基本数据类型、运算符和表达式】第三节P2-4.【基本数据类型、运算符和表达式】第四节目录必备知识与理论任务实施必备知识与理论C语言中把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。其运算符和表达式数量之多,在高级......
  • Lambda表达式概述
    Lambda表达式1、Lambada表达式概述Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。写Lambda表达式的场景:1.能够使用Lambda......
  • SpringAop学习笔记
    SpringAop学习笔记文章目录SpringAop学习笔记1.面向切面编程(AOP)1.1代理模式1.2静态代理1.3动态代理2.AOP概念及相关术语2.1概述2.2相关术语①横切关注点②通知(增强)③切面④目标⑤代理⑥连接点⑦切入点2.3作用3.基于注解的AOP3.1技术说明3.2准备工作3.3创......
  • lambda表达式之jvm提供的接口
    一、java内置函数式接口:断言式接口importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;importjava.util.function.Predicate;/*java内置函数式接口:断言式接口只有函数式接口【有且仅有一个抽象方法】才可以被@FunctionalInterface注解所......
  • lambda表达式的写法2
    一、类名::静态方法名publicclassStaff{privateStringid;privateStringname;privateintage;privateintsalary;publicStaff(){}publicStaff(Stringid,Stringname,intage,intsalary){this.id=id;t......
  • lambda表达式的写法1
    一、lambda表达式的含义Lambda表达式是Java8引入的一种简洁的语法,用于表示匿名函数或传递行为。它使得我们可以更简洁地表达代码中的行为和函数逻辑,特别是在使用函数式接口时(如Consumer、Supplier、Function<T,R>等)。Lambda表达式可以大大简化代码,尤其是当我们需要为接口......
  • js实现cron表达式翻译成中文
    js实现cron表达式翻译成中文参考项目https://github.com/ikesnowy/cron-chinese对他的代码进行改进:只能翻译分时日月周和这五个符号:*?-/,exportfunctionhumanizeCronInChinese(cron){consttokens=cron.trim().split('');constcronStruc......
  • 八,Lambda表达式
    JavaLambda表达式与枚举Lambda表达式概述Java从JDK1.8开始引入了Lambda表达式,以简化代码开发并支持函数式编程。Lambda表达式可以避免面向对象编程中的一些繁琐问题,但同时也是一把双刃剑。Lambda表达式的使用场景必须有相应的函数接口,即内部有且仅有一个抽象方法的接口。......