1 2 3 4

自定义框架(2)

创建一个映射器HandlerMapping,在映射器中定义一个定义一个方法来加载我们的控制器类,也就是谁说拿到上阶段的list集合循环取出集合中类的全限定地址,通过Class.ForName(类的全限定名)加载控制器类。由于在控制器包中或许或许会含有其他的类,所以在次引入注解:

注解即新建一个注解包,在包中新建一个注解类。定义注解类会有设置两个注解

@Retention(RetentionPolicy.):注解的生命周期有以下属性

1:RUNTIME:运行时都有效

2:CLASS:源文件有效,一旦通过加载在器,加载到内存消失。

3:SURCE:只存在Java源文件

@Target(ELEMENtType.):注解的作用域.有以下属性常用

1:TYPE:只能作用在类头上

2:method:只能作用在方法头上

在此我们定义一个Contorller注解类,生命周器为运行时有效,作用域用于类。

 

 

在上面加载出来的类中,我们通过类对象.isAnnotationPresent(“注解的类对象”)方法查看加载的类中那些类头上有conterller注解,通过判断得到有contorller注解的类,

通过类对象.newInstance()实例化类

通过类对象.getSimpleName()得到类名称

并创建一个map集合,将实例化的类和得到的类名称放入map集合中

 

posted @ 2019-05-06 20:43  startscorpio  阅读(96)  评论(0编辑  收藏  举报