如何在加载类之前检查注释?

时间:2014-11-16 13:51:23

标签: java annotations classloader

我有自己的类加载器。我只想在有一些指定的注释的情况下加载类。

如何在加载课程之前检查注释?

1 个答案:

答案 0 :(得分:0)

这是一个简单的类注释示例:

@SomeAnnotation(name="someName", value="someValue")
public class Meta {}

Meta定义:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface SomeAnnotation {
    public String name();
    public String value();
}

访问类注释和加载类:

Class clazz = Meta.class;
ClassLoader classLoader = clazz.getClassLoader();    
Annotation annotation = clazz.getAnnotation(SomeAnnotation.class);
if (annotation instanceof SomeAnnotation) {
   classLoader.loadClass("Meta");
}