Java 是否有必要创建一个Spring方面的建议,该建议会触发任何未被特定注释注释的方法?
基本上,我正在尝试创建一个日志系统来记录大多数控制器方法(它们的参数、主体、状态代码等),但是,由于某些特定原因,我不想记录一些控制器方法。我不想创建一个表示该方法将被记录的注释(因为将会有很多),相反,我想创建一个表示该方法不应被记录的注释。显然,我不能否定Spring Aspect建议中的注释,所以有解决方法吗?(例如从Java 是否有必要创建一个Spring方面的建议,该建议会触发任何未被特定注释注释的方法?,java,spring-boot,java-annotations,spring-aspects,Java,Spring Boot,Java Annotations,Spring Aspects,基本上,我正在尝试创建一个日志系统来记录大多数控制器方法(它们的参数、主体、状态代码等),但是,由于某些特定原因,我不想记录一些控制器方法。我不想创建一个表示该方法将被记录的注释(因为将会有很多),相反,我想创建一个表示该方法不应被记录的注释。显然,我不能否定Spring Aspect建议中的注释,所以有解决方法吗?(例如从ProceedingJoinPoint获取方法的所有注释,然后检查它们是否包含该NoLog注释) 好的,看起来您可以使用上面的代码尝试获取方法上的CustomAnnotati
ProceedingJoinPoint
获取方法的所有注释,然后检查它们是否包含该NoLog
注释)
好的,看起来您可以使用上面的代码尝试获取方法上的
CustomAnnotation
,如果您的方法没有使用此CustomAnnotation
进行注释,则将返回null
,否则将返回代理
对象。如果你的问题已经解决,请标出答案。这是将问题标记为已解决的方式。
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
Method method = joinPoint.getTarget().getClass()
.getMethod(methodSignature.getMethod().getName(),
methodSignature.getMethod().getParameterTypes());
CustomAnnotation annotation = method.getAnnotation(CustomAnnotation.class);