一位从业7年的fan,他说面试之前,Spring的内容准备的很充分。而且各种面试题也刷了。结果在面试的时候,面试官问:“说说你对SpringMVC的理解”。这个问题我没办法一下子给他解决,就是那种突然不知道怎么组织语言,最后因为答案乱七八糟而面试失败的那种。好了,对于这个问题,我们来看看普通人和专家的回答。普通人:SpringMVC是一个MVC框架。可以使用SpringMVC开发web应用专家:好的,我从几个方面来回答这个问题。首先,SpringMVC是属于SpringFramework生态系统的一个模块。它是一个构建在Servlet基础上,采用MVC模式设计的Web框架。主要目的是简化传统Servlet+JSP模式下的web开发方式。其次,SpringMVC的整体架构设计对JavaWeb中的MVC架构模式进行了增强和扩展,主要有几个方面。将传统MVC框架中的Controller控制器拆分为前端控制器DispatcherServlet和后端控制器Controller。将Model模型拆分为业务层Service和数据访问层Repository。在视图层,可以支持不同的视图,如Freemark、velocity、JSP等。所以SpringMVC天生就是为MVC模式设计的,所以在开发MVC应用时会更加方便灵活。SpringMVC的具体工作流程是,浏览器的请求首先会经过SpringMVC中的核心控制器DispatcherServlet,它负责将请求分发到对应的Controller中。业务逻辑在Controller中处理完后,返回给ModeAndView。然后DispatcherServlet寻找一个或多个ViewResolver视图解析器,找到ModeAndView指定的视图,并将数据显示给客户端。以上就是我对SpringMVC的理解。总结一下,我培养了3W多Java架构师,发现他们对技术的理解只停留在使用层面,并没有深入思考这些技术框架的底层设计,导致他们为5年。当你想改变架构时,你缺乏顶层设计能力和抽象思维。喜欢我作品的朋友记得点赞收藏哦。有什么工作学习方面的问题可以随时私信我,另外还有Java面试资料和简历模板。版权声明:除特别声明外,本博客所有文章均采用CCBY-NC-SA4.0许可协议。转载请注明来自Mic带你学建筑!如果本文对您有帮助,请给个关注和点赞。您的坚持是我不断创作的动力。欢迎关注同名微信公众号获取更多技术干货!
