一個工作了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帶你學架構
!
如果本篇文章對您有幫助,還請幫忙點個關注和贊,您的堅持是我不斷創作的動力。歡迎關注同名微信公眾號獲取更多技術乾貨!