基本问题
我想继承注解,这样我就可以声明抽象类,包括用于配置的注解。然后,您只需扩展此抽象类并实现所有抽象方法,而无需配置任何内容。
public class A {
}
@MyAnno
public class B extends A {
public abstract void foo();
}
public class C extends B {
public void foo() {
Magic.bar();
}
}
@Inherited
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyAnno {
}但是如果我检查一下反射,C类并没有用MyAnno注解。如果我将@MyAnno添加到C类,它就可以工作。这对我来说似乎很奇怪。
泽西岛
除了我自己的批注之外,我还想使用@GET、@Path(""where/I/am)等Java RESTful批注。This should work!,但是它没有,而且带注释的超类的子类没有任何RESTful注释,也没有自己的注释,什么都没有。
发布于 2015-09-10 00:56:12
反思
我使用的是org.reflections,它不输出带注释的超类的子类,如果这些超类不在类型搜索的包路径中。
泽西岛
在2.9.x不运行的时候,我使用了它。在2.21中工作正常!
更新:从已实现的方法中删除@PathParam!
https://stackoverflow.com/questions/32480608
复制相似问题