无论如何要创建一个 Spring 方面的建议,它会触发任何未被某些注释注释的方法?

Is there anyway to create a Spring Aspect advice that triggers on any method that is NOT annotated by certain annotation?

基本上我正在尝试创建一个日志系统来记录大多数控制器方法(它们的参数、主体、状态代码等),但是,有一些控制器方法我不想记录一些具体原因。我不想创建一个注释来指示将记录此方法(因为会有很多),相反,我想创建一个注释来指示不应记录此方法。显然,我不能否定 Spring 方面建议中的注释,那么有什么解决方法吗? (例如从 ProceedingJoinPoint 获取方法的所有注释,然后检查它们是否包含该 NoLog 注释)

MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
Method method = joinPoint.getTarget().getClass()
      .getMethod(methodSignature.getMethod().getName(),
                 methodSignature.getMethod().getParameterTypes());
CustomAnnotation annotation = method.getAnnotation(CustomAnnotation.class);

好吧,看起来你可以使用上面的代码尝试在你的方法上获取 CustomAnnotation,如果你的方法没有被这个 CustomAnnotation 注释,null 将被返回,否则将返回一个 Proxy 对象