Spring 获取参数和注释值的切入点表达式

Spring 获取参数和注释值的切入点表达式,spring,aop,spring-aop,pointcut,Spring,Aop,Spring Aop,Pointcut,我有一个切入点表达式,它调用包中的所有方法 有些方法可能有注释和需要在通知中获取的参数 我试过这样的东西 @Around("execution(* com.man.test..jmx..*(..)) && args(name,..) && @annotation( requiredJMX )") @Around("execution(* com.man.test..jmx..*(..)) || args(name,..) || @annotation( requ

我有一个切入点表达式,它调用包中的所有方法

有些方法可能有注释和需要在通知中获取的参数

我试过这样的东西

@Around("execution(* com.man.test..jmx..*(..)) && args(name,..) && @annotation( requiredJMX )")
@Around("execution(* com.man.test..jmx..*(..)) || args(name,..) || @annotation( requiredJMX )")
此表达式的问题在于,如果存在具有名称和注释的参数,它将调用

我是否可以调用包中的所有方法,同时名称参数和注释是可选的

像这样的

@Around("execution(* com.man.test..jmx..*(..)) && args(name,..) && @annotation( requiredJMX )")
@Around("execution(* com.man.test..jmx..*(..)) || args(name,..) || @annotation( requiredJMX )")

如果要从方法中获取注释和参数的值, 你可以这样做:

@Around(“执行(*com.man.test..jmx..*(..)
公共对象方法(ProceedingJoinPoint joinpoint){


}

第二个表达式不是您想要的吗?我需要第二个表达式,但“name”.equals(method.getParameters()[I].getName()无效dosent Match该参数是否用注释进行了注释?如果可能,请共享该方法定义。因为,如果对其进行了注释,则该方法将不起作用。是的,这有一个自定义注释如果对参数进行了注释,则可以使用
方法。getParameterAnnotations()
获取参数的名称。抱歉,只有方法被注释,而不是参数