一個工作了7年的粉絲,他說在面試之前,Spring這塊的內容準備得很充分。 而且各種面試題也刷了,結果在面試的時候,面試官問:”說說你對Spring MVC的理解“。 這個問題一下給他整不會了,就是那種突然不知道怎麼組織語言,最後因為回答比較混亂沒通過面試。 ok,對於這個問題,我們來看看普通人和高 ...
一個工作了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架構模式做了增強和擴展,主要有幾個方面。
-
把傳統MVC框架裡面的Controller控制器做了拆分,分成了前端控制器DispatcherServlet和後端控制器Controller。
-
把Model模型拆分成業務層Service和數據訪問層Repository。
-
在視圖層,可以支持不同的視圖,比如Freemark、velocity、JSP等等。
所以,Spring MVC天生就是為了MVC模式而設計的,因此在開發MVC應用的時候會更加方便和靈活。
Spring MVC的具體工作流程是,瀏覽器的請求首先會經過SpringMVC裡面的核心控制器DispatcherServlet,它負責對請求進行分發到對應的Controller。
Controller裡面處理完業務邏輯之後,返回ModeAndView。
然後DispatcherServlet尋找一個或者多個ViewResolver視圖解析器,找到ModeAndView指定的視圖,並把數據顯示到客戶端。
以上就是我對Spring MVC的理解。
總結
我培訓過3W多名Java架構師,我發現他們對技術的理解只是停留在使用層面,
並沒有深層次的思考這些技術框架的底層設計,導致他們在到了工作5年以後。
想轉架構的時候,缺少頂層設計能力和抽象思維。
喜歡我的作品的小伙伴記得點贊和收藏。
有任何工作和學習上的問題,可以隨時私信我,另還有Java面試資料和簡歷模板可以領取。
版權聲明:本博客所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自
Mic帶你學架構
!
如果本篇文章對您有幫助,還請幫忙點個關註和贊,您的堅持是我不斷創作的動力。歡迎關註「跟著Mic學架構」公眾號公眾號獲取更多技術乾貨!