0201_手写Spring执行原理
1、请用自己的语言描述SpringIOC、DI、MVC的基本执行原理。

一、配置阶段
- 配置web.xml中的dispatcherServlet入口
- 设定init-param参数值“contextConfigLocation=classpath:application.xml”
- 设定url-pattern为“\*”
- 配置Annotation,@Controller @Service @Autowited @RequestMapping等
二、初始化阶段
- 调用init()方法,加载配置文件
- 初始化IO容器,使用Map<String, Object> ioc存储
- 扫描相关的类,读取属性scan-page=”com.gupao.edu”
- 创建实例化并保存到容器中,通过反射机制将类实例化放入IOC容器中
- 进行DI操作,扫描IOC容器中的实例,给没有赋值的属性自动赋值
- 初始化HandlerMapping,将一个URL和一个Method进行一对一的关联映射到Map<String,Object> ioc中
三、运行阶段
- 调用doGet/doPost方法,获取request/response对象
- 匹配HandlerMapping,从request对象中获取用户输入的url,找到其对应的Method
- 反射调用method.invoker(),利用反射调用方法并返回结果
- Response.getWrite().write(),将返回的结果输出到浏览器

浙公网安备 33010602011771号