SpringMVC注解开发运行原理
服务器初始化过程:
1:服务器初始化 加载继承 AbstractDispatcherServletInitializer即springmvc定义的代替web.xml的
类初始化web容器
然后重写三个方法:
one:
createServletApplicationContext 方法 返回值为WebApplicationContext(sprigmvc容器) 新建一个WebApplicationContext子类AnnotationConfigWebApplicationContext调用register方法注册springmvc的配置文件进入 再返回子类
目标
加载springmvc的配置文件 查看配置文件设置的注解扫描路径下的controller注解标志的Bean 对controller标志的Bean 进行加载该Bean下的RequestMapping注解 跟据其名称对应具体方法
two:
getServletMappings返回值是字符串数组在方法内部加需要被springmvc管理的路径 然后返回
目的:
设置那些路径交给springmvc控制器处理 即需要被mvc拦截处理的路径
three:
createRootApplicationContext和第一个方法差不多返回值也一样 只不过他是用于创建加载的spring的配置
单次请求过程:
1:客户端发送HTTP请求到服务端
2:服务端初始化好的web容器判断该请求是否被springmvc管理
3:让该管理解析请求的路径
4:在RequestMapping中进行路径匹配
5:匹配成功调用方法
6:检查有无responsBody注解 即看看返回值是什么形式返回