Java 注释类@折旧
我想为方法实现一个注释,它会让我知道那些被注释的方法在哪里调用,就像官方的@deprecated注释一样 如何获取给定带注释方法的所有调用方法的列表?我认为可能会帮助您: 要查找此带注释的方法(从),请执行以下操作: 使用 原料药 从基本包扫描类路径的组件提供程序。然后将排除和包含筛选器应用于结果类 寻找候选人 我想这可能对你有帮助: 要查找此带注释的方法(从),请执行以下操作: 使用 原料药 从基本包扫描类路径的组件提供程序。然后将排除和包含筛选器应用于结果类 寻找候选人Java 注释类@折旧,java,annotations,Java,Annotations,我想为方法实现一个注释,它会让我知道那些被注释的方法在哪里调用,就像官方的@deprecated注释一样 如何获取给定带注释方法的所有调用方法的列表?我认为可能会帮助您: 要查找此带注释的方法(从),请执行以下操作: 使用 原料药 从基本包扫描类路径的组件提供程序。然后将排除和包含筛选器应用于结果类 寻找候选人 我想这可能对你有帮助: 要查找此带注释的方法(从),请执行以下操作: 使用 原料药 从基本包扫描类路径的组件提供程序。然后将排除和包含筛选器应用于结果类 寻找候选人 在编译时/在ID
在编译时/在IDE中?如果你真的想要,你需要自己编写工具。类似于或@zapl的东西,我想跟踪调用gcm.send的点,不能从主线程调用。在编译时/在IDE中是否可能重复?如果你真的想要,你需要自己编写工具。类似于或@zapl的东西,我想跟踪调用gcm.send的点,不能从主线程调用。可能的重复我不想找到带注释的方法,而是要找到调用带注释方法的方法。我非常感谢您的帮助,但我想在编译时像android lint一样这样做。也许我的问题不够清楚。不幸的是,在结构化搜索中无法找到对带注释方法的方法调用:您是否尝试在中搜索插件?如果真的需要,你可以尝试创建自己的自定义插件。我不想找到带注释的方法,而是调用带注释方法的方法。我很感谢你的帮助,但我想在编译时像android lint那样做。也许我的问题不够清楚。不幸的是,在结构化搜索中无法找到对带注释方法的方法调用:您是否尝试在中搜索插件?如果确实需要,您可以尝试创建自己的自定义插件
ClassPathScanningCandidateComponentProvider scanner =
new ClassPathScanningCandidateComponentProvider(<DO_YOU_WANT_TO_USE_DEFALT_FILTER>);
scanner.addIncludeFilter(new AnnotationTypeFilter(<TYPE_YOUR_ANNOTATION_HERE>.class));
for (BeanDefinition bd : scanner.findCandidateComponents(<TYPE_YOUR_BASE_PACKAGE_HERE>))
System.out.println(bd.getBeanClassName());
public class Foo {
@YourAnnotation
public int power(int x, int p) {
return Math.pow(x, p);
}
}
@Aspect
public class MethodLogger {
@Around("execution(* *(..)) && @annotation(YourAnnotation)")
public Object around(ProceedingJoinPoint point) {
Logger.info(
"call by method" + MethodSignature.class.cast(point.getSignature()).getMethod().getName()
);
Object result = point.proceed();
return result;
}
}