发表于: 2017-12-01 19:04:36

1 698


今日完成:

早上看了mvc加载流程,下午看了老大的直播。

明日计划:

细究一下mvc。

收获:

springmvc这个框架其实主要是有这几个大的模块组成的dispatcherServlet、handlerMapping、controller、modelAndView、viewResolver、view。

请求流程:

 DispatcherServlet是springmvc中的前端控制器(front controller),负责接收request并将request转发给对应的处理组件.
 HanlerMapping是springmvc中完成url到controller映射的组件.DispatcherServlet接收request,然后从HandlerMapping查找处理request的controller.
Cntroller处理request,并返回ModelAndView对象,Controller是springmvc中负责处理request的组件(类似于struts2中的Action),ModelAndView是封装结果视图的组件.
视图解析器解析ModelAndView对象并返回对应的视图给客户端.
viewResolve是对我们的每个具体实现的controller封装后返回的modelAndView这个对象的解析处理,在这个根据我们配置的视图解析器将对应的modelAndView映射到对应的view(jsp或者其他的显示层语言)中去显示我们controller处理后返回到视图层的内容
显示每个controller返回的视图解析器的内容到对应的视图给客户端(view)。

加载流程:

在请求来的时候会先访问web.xml文件,mvc加载的入口在dispatcherServlet,然后会运行init方法(其中init是final的,不能被继承的),这个init入口的初始化方法,至于他的重载继承那些先不说,其中他会有一个initWebApplicationContext()的方法,这个是加载spring配置文件的,然后其中的createWebApplicationContext方法会加载mvc配置文件并构造mvc容器,容器构建起来后就是根据映射到控制器,然后控制器的还没有看完。

下午看了老大的直播,以下老大的小抄。

1.三个小原则
2.数据和代码分离
3.mvc拯救世界
4.分层
5.先简单化,再聚合
6.三种层级的抽象
7.开发时间的争取分配
8.忘掉继承
9.简约的力量
10.合适的场景使用合适的语言和工具
11.消息队列拯救世界
12.永恒重构

前7个因为上次没看额,明天补回来,还有前面有一小时左右网络极差,断断续续所以没听清楚。

我就讲讲我的听后感,提倡不用继承,用组件来实现功能,我是很赞同的,因为继承调用父类方法很不直观,而且有些继承不只两三层,所以很难用,而组件化的话通常只有一个接口一个实现,然后逻辑相通的service可以放在一个server中进行分布式布局,就非常好。简约的力量这个没听清,就是网络不行的时候。。不同的语言应对不同情况时效果和代码量差距是很大的,但是前提是要会其他的语言。消息队列我连这个是什么都没了解,我就记得老大说目前国内少用到,所以在以后学习了才能有感想。在代码重构上老大说的是程序员的提升很大占比是通过重构自己的代码提升的,在badsmall的时候重构,badsmall有9个指标,但我觉得就是当自己看代码不爽的时候就重构,觉得丑就重构,控制器不涉及业务只调用,服务类型也尽量少,注释可以清晰表达代码用意就行。

进度:

等复盘。





返回列表 返回列表
评论

    分享到