手写SpringMVC迷你版

步骤

  实现思路:
       配置阶段
            1:在web.xml文件中配置相应的DispatcherServlet的类路径
            2:指定application.properties的文件路径
            3:设置客户端请求路径
       初始化阶段:
            1:init方法  
                   加载web.xml文件的配置
            2:初始化SpringIOC容器
                    根据spring配置信息来进行初始化
            3:扫描出所有的相关连的类
                    配置一个base-package
            4:依赖注入
            5:handMapping
                    将url和方法进行映射 其实就是一个map
        等待请求阶段:
            1:Request 和Response
            2: 根据url获取到相应的Method
            3:使用反射机制调用method
            4:将返回值 输出

项目说明

    项目自定义了SpringMVC的RequestMapping,Controller,Service,AutoWrited注解,
    项目中都有详细的代码注释
    SpringMVC的实现主要是先加载配置文件,之后从配置文件中读取要扫描的
    包(beanNames的List),之后实例化对象(IOC)把有注解的类添加到
    IOC容器中,在之后就是依赖注入,说白了就是赋值(解决的是@AutoWrited)
    ,再之后就是handmapping,这个map中存的就是url所对应的方法,最后通过请
    求去解析调用。
    整个过程实现主要是用了java的反射机制,去获取相应的类,方法,字段。

注解

    以前一直认为Spring在定义注解后,需要去代码中具体的实现该注解,就像是
    接口的实现,这个错误的认知,今天终于发现了。
    其实Spring中的注解可以看成是一个标识符,具体的实现是在具体需要使用的
    时候通过java的反射机制可以获取到类,方法,字段上标识的注解,然后再通过
    此注解去发挥它应该的作用。

代码地址

    [地址](https://github.com/xiaofanjun/XFJRepository.git)

猜你喜欢

转载自blog.csdn.net/qq_24067089/article/details/81087258