JAVA注解学习—应用

在实际应用中,尤其是在框架中,注解主要是省略了xml配置文件,通过反射可以进行注解识别,生成对象实例。
下面是一个自定义注解实现,该注解可以用于type(类、接口、枚举、Annotation类型)接口。

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 控制器注解
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Controller {
}

这样,我们可以通过在容器启动时(这里指web容器),通过虚拟机加载对应文件夹下的类,判断是否有注解。
下面是伪码实现

 Thread.currentThread().getContextClassLoader();//获取类加载器
 cls = Class.forName(className,isInitialized,getClassLoader();//向类加载器中加载className的类
 cls.isAnnotationPresent(Controller.class);//判断是否是有Controller注解的类;
 instance = cls.newInstance();//实例化该对象,然后将改类实例对象放到HashMap中进行,提供对不同处理器的映射

你可能感兴趣的:(Java)