前端页面发送请求
SpringMVC:
前端控制器DispatcherSevlet会拦截所有的请求,并负责任务的调度和分配
-->任务交给 处理器-映射器(HandlerMapping根据前端请求的URL链接地址去寻找相关配置 --相关配置其实说白了就是Controller中的一些类和方法)
-->找到相关的配置信息后会返
回DispatcherSevlet一个Handler对象(配置的映射器)
-->DispatcherSevlet将Handler交给 处理器-适配器(HandlerAdapter)
-->HandlerAdapter执行相关Handler(其实就是去寻找具体的处理器Handler 其实就是Controller)
-->Handler执行完后(执行完相关的业务逻辑对象后将数据进行封装ModleAndView对象)会给HandlerAdapter返回 ModelAndView对象(Springmvc框架里的一个底层对象,包括了Model和View)
-->HandlerAdapter将ModelAndView对象交给DispatcherSevlet
-->DispatcherSevlet将这个任务分发视图解析器 ViewResolve
-->视图解析器进行视图解析(解析出是哪个页面发送的请求,页面类型是jsp,themeleaf,freemaker还是什么)
-->ViewReslove返回一个View给DispatcherSevlet
-->DispatcherSevlet根据View进行数据的渲染(将模型数据ModelAndView填充到request域)
总结:SpringBoot注解带来了简便,
通过映射配置和IOC容器对MVC进行解耦(即只围绕M、V、C)
从Controller中抽取业务逻辑(Controller中也不允许有业务逻辑)到服务层
控制层通过IOC来调用服务层实现相关业务逻辑的处理
实现:
到