【Java面試】說說你對Spring MVC的理解

跟著Mic學架構 發表於 2022-06-06
Java 面試 Spring

一個工作了7年的粉絲,他說在面試之前,Spring這塊的內容準備得很充分。

而且各種面試題也刷了,結果在面試的時候,面試官問:”說說你對Spring MVC的理解“。

這個問題一下給他整不會了,就是那種突然不知道怎麼組織語言,最後因為回答比較混亂沒通過面試。

ok,對於這個問題,我們來看看普通人和高手的回答。

普通人:

Spring MVC它是一個MVC框架。

可以使用Spring MVC來開發Web運用

高手:

好的,關於這個問題,我會從幾個方面來回答。

首先,Spring MVC是是屬於Spring Framework生態裡面的一個模組,它是在Servlet基礎上構建並且使用MVC模式設計的一個Web框架,

主要的目的是簡化傳統Servlet+JSP模式下的Web開發方式。

其次, Spring MVC的整體架構設計對Java Web裡面的MVC架構模式做了增強和擴充套件,主要有幾個方面。

  1. 把傳統MVC框架裡面的Controller控制器做了拆分,分成了前端控制器DispatcherServlet和後端控制器Controller。
  2. 把Model模型拆分成業務層Service和資料訪問層Repository。
  3. 在檢視層,可以支援不同的檢視,比如Freemark、velocity、JSP等等。

所以,Spring MVC天生就是為了MVC模式而設計的,因此在開發MVC應用的時候會更加方便和靈活。

Spring MVC的具體工作流程是,瀏覽器的請求首先會經過SpringMVC裡面的核心控制器DispatcherServlet,它負責對請求進行分發到對應的Controller。

Controller裡面處理完業務邏輯之後,返回ModeAndView。

然後DispatcherServlet尋找一個或者多個ViewResolver檢視解析器,找到ModeAndView指定的檢視,並把資料顯示到客戶端。

image-20220423220421552

以上就是我對Spring MVC的理解。

總結

我培訓過3W多名Java架構師,我發現他們對技術的理解只是停留在使用層面,

並沒有深層次的思考這些技術框架的底層設計,導致他們在到了工作5年以後。

想轉架構的時候,缺少頂層設計能力和抽象思維。

喜歡我的作品的小夥伴記得點贊和收藏。

有任何工作和學習上的問題,可以隨時私信我,另還有Java面試資料和簡歷模板可以領取。

file

版權宣告:本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Mic帶你學架構
如果本篇文章對您有幫助,還請幫忙點個關注和贊,您的堅持是我不斷創作的動力。歡迎關注同名微信公眾號獲取更多技術乾貨!