手写精简版spring 框架后对ioc的体会

    xiaoxiao2021-03-25  109

    spring是如何初始化的?如何处理请求?

    以前对于spring 都是停留在会用的层面,闲下来 参照资料  写了一个精简版的spring  理解了一下 其中的具体内容。

    总结如下:(自己看着总结的,如果哪里不对  请大家指出)

    spring初始化

    1. 拿到spring配置文件,获取扫描包名字(自动扫包注解) 2.递归扫描包下文件,存入list

    对象实例化 3.通过反射实例化 含有  service和Controller  注解的对象  存入map

    对象注入 3.取出map中对象 中 所有注入的对象  通过  Field.set("需要注入的实例",“注入的实例”)

    4初始化请求链,遍历map 对象的所有方法  ,   拼接url 存入   map(url,method)。

    spring处理请求 5当请求到达前端控制器时: 5.1 解析uri 获得项目名  replace   获得 请求url 5.2 通过请求rul  在map中获取对应的mehtod 5.3 通过Controller 名称获取Controller 对象 5.4 通过反射 执行 method.invoke(Controller , new Object[] { req, resp, null });

    以上是对spring ioc的一点理解。

    转载请注明原文地址: https://ju.6miu.com/read-13911.html

    最新回复(0)