摘要:是結構在框架中的一種表現形式。這句話聽起來有點繞,我們可以看一下下面這張圖,大家可以吧容器中的理解為全局變量,吧容器中的理解為局部變量。在方法體中可以訪問局部變量和全局變量,但是在方法外,就只能訪問全局變量,是不能訪問局部變量的。
聊完了Spring,我們來看看Spring在web方面的應用Spring MVC。MVC
首先我們來看什么是mvc?
大家知道在jsp里面也是可以寫java代碼的,但是如果我們這樣做就會有一個問題,就是代碼全部都雜糅在一起,無論是閱讀還是修改都將變得十分的困難。
MVC是模型(model)-視圖(view)-控制器(controller)的縮寫,他將我們的程序分為個三部分,頁面、控制層、模型層。這樣使我們的程序的邏輯更清晰,更容易維護。
它以將我們的業務邏輯、數據與界面顯示分離,將眾多的業務邏輯聚集到一個部件里面,在需要改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯,提高編碼效率。
Spring MVCSpring MVC 是MVC結構在Spring框架中的一種表現形式。下面我們來看一下Spring MVC的結構:
由圖可知,Spring MVC的具體流程如下:
1.?首先用戶發送請求————>前端控制器(DispatcherServlet),前端控制器根據請求信息(如URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分;
2.?頁面控制器接收到請求后,進行功能處理,首先需要收集和綁定請求參數到一個對象,并進行驗證。然后將命令對象委托給業務對象進行處理;處理完畢后返回一個ModelAndView(模型數據和邏輯視圖名);
3.?前端控制器收回控制權,然后根據返回的邏輯視圖名,選擇相應的視圖進行渲染(ViewResolver),并把模型數據傳入以便視圖渲染。
4.?前端控制器再次收回控制權,將響應返回給用戶;
大家可以把這想象成自己去醫院看病的流程,前端控制器(DispatcherServlet)在這里就相當于一個醫院前臺的作用,我們看病時首先需要先到前臺掛號,然后根據病情被分配到不同的科室,看完病之后還要再到前臺去付錢拿藥。
Spring和Spring MVC容器之間的關系我們理解了Spring和Spring MVC,這里我們討論一下Spring容器和Spring MVC容器之間的關系?
首先要說明的是:一個項目中,容器不一定只有一個。
Spring容器用于管理Spring中的Bean,而Spring MVC容器用于管理Spring MVC中的Bean。Spring是父容器,Spring MVC是其子容器。并且在Spring MVC子容器中注冊的Bean可以引用Spring父容器中注冊的Bean,但在Spring容器中注冊的Bean卻不能引用Spring MVC容器中注冊的Bean。
這句話聽起來有點繞,我們可以看一下下面這張圖,大家可以吧spring容器中的bean理解為全局變量,吧spring MVC容器中的bean理解為局部變量。在方法體中可以訪問局部變量和全局變量,但是在方法外,就只能訪問全局變量,是不能訪問局部變量的。
這里我們要區分一下哪些bean是需要被SpringMVC管理的,最主要就是控制器(Controller),因為它需要與前端控制器交互。其他的可以都交給spring的容器管理。
下一節我們來聊聊,Spring的進階版Spring Boot。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68180.html
摘要:模塊負責的所有面向切面的功能。總結的統一管理,降低了對象之間的耦合對主流的框架提供了很好的集成支持提供眾多組件,事務管理,等具有高度可開放性,開發者可以自由選擇部分或全部主要使用工廠模式和代理模式。 聊完了Spring框架中最重要的兩種設計模式,我們來看一下Spring框架的模塊和結構圖。 Spring框架的結構 下圖是Spring官方給出的Spring框架的結構圖。 showImg(...
摘要:通過我們可以更輕松地入門,更簡單的使用的框架。團隊為了擺脫框架中各類繁復紛雜的配置,使用約定優于配置的思想,在基礎上整合了大量常用的第三方庫的開發框架。這里還要說的一點,的出現并不是單純的為了簡化開發,更是為做鋪墊。 說完了Spring 我們來聊聊Spring的進階版Spring Boot,如果你還不知道Spring Boot,那希望這篇文章能夠為你指明方向。 Spring Boot ...
摘要:系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。傳統架構升級困難。新的輕量級協議容器化的出現。熔斷處理在微服務出現問題時防止出現雪崩效應。 聊完Spring Boot,我們來看看Spring Boot最重要的一方面的應用——Spring Cloud。 Spring Cloud 再聊SpringCloud之前我們先聊聊微服務。 ...
摘要:聊完了工廠模式,下面我們來說框架中的另一個核心設計模式代理模式。這里的外賣小哥就相當于是我們的代理。主要分為代理和代理。 聊完了工廠模式,下面我們來說Spring框架中的另一個核心設計模式——代理模式(Proxy Pattern)。 代理模式 大家可以先不用看概念,先舉個吃飯的例子:比如說我們想吃飯,我們可以選擇自己做飯吃、去飯店吃、叫外賣吃。如果我們選擇自己做著吃,我們就需要去買菜、...
摘要:相對于工廠模式,抽象工廠模式生產的對象更加具體,也更加豐富,但相對編碼也更加復雜。具體的抽象工廠模式的實現大家可以參考菜鳥教程。知道了工廠模式和抽象工廠模式的區別,請大家使用的時候應該根據具體的情況進行選擇。 大家好,今天給大家分享一些Spring的學習心得,在講Spring之前,先和大家分享Spring中核心的設計模式。 工廠模式 在聊概念之前我先問問大家:什么是工廠? 這個很簡單,...
閱讀 1467·2021-09-30 09:57
閱讀 1472·2021-09-09 09:33
閱讀 2231·2021-09-04 16:40
閱讀 1801·2021-09-01 10:50
閱讀 3249·2021-09-01 10:31
閱讀 2546·2019-08-30 15:56
閱讀 2976·2019-08-30 15:44
閱讀 3479·2019-08-29 17:29