日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring MVC工作原理 及注解说明

發(fā)布時(shí)間:2024/2/28 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring MVC工作原理 及注解说明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自??http://blog.csdn.net/shuyeshangdemayi/article/details/50259493

SpringMVC框架介紹

??? 1) Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。

Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),可以選擇是使用內(nèi)置的 Spring Web 框架還是 Struts 這樣的 Web 框架。通過策略接口,Spring 框架是高度可配置的,而且包含多種視圖技術(shù),例如 JavaServer Pages(JSP)技術(shù)、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的視圖,所以不會(huì)強(qiáng)迫您只使用 JSP 技術(shù)。

??????? Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧?#xff0c;這種分離讓它們更容易進(jìn)行定制。

????2) Spring的MVC框架主要由DispatcherServlet、處理器映射、處理器(控制器)、視圖解析器、視圖組成。

SpringMVC原理圖

SpringMVC接口解釋

DispatcherServlet接口:

Spring提供的前端控制器,所有的請求都有經(jīng)過它來統(tǒng)一分發(fā)。在DispatcherServlet將請求分發(fā)給Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具體的Controller。

HandlerMapping接口:

能夠完成客戶請求到Controller映射。

Controller接口:

需要為并發(fā)用戶處理上述請求,因此實(shí)現(xiàn)Controller接口時(shí),必須保證線程安全并且可重用。

Controller將處理用戶請求,這和Struts Action扮演的角色是一致的。一旦Controller處理完用戶請求,則返回ModelAndView對象給DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和視圖(View)。

從宏觀角度考慮,DispatcherServlet是整個(gè)Web應(yīng)用的控制器;從微觀考慮,Controller是單個(gè)Http請求處理過程中的控制器,而ModelAndView是Http請求過程中返回的模型(Model)和視圖(View)。

ViewResolver接口:

Spring提供的視圖解析器(ViewResolver)在Web應(yīng)用中查找View對象,從而將相應(yīng)結(jié)果渲染給客戶。

SpringMVC運(yùn)行原理

1. 客戶端請求提交到DispatcherServlet

2. 由DispatcherServlet控制器查詢一個(gè)或多個(gè)HandlerMapping,找到處理請求的Controller

3. DispatcherServlet將請求提交到Controller

4. Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView

5. DispatcherServlet查詢一個(gè)或多個(gè)ViewResoler視圖解析器,找到ModelAndView指定的視圖

6. 視圖負(fù)責(zé)將結(jié)果顯示到客戶端

DispatcherServlet是整個(gè)Spring MVC的核心。它負(fù)責(zé)接收HTTP請求組織協(xié)調(diào)Spring MVC的各個(gè)組成部分。其主要工作有以下三項(xiàng):

?????? 1. 截獲符合特定格式的URL請求。
?????? 2. 初始化DispatcherServlet上下文對應(yīng)的WebApplicationContext,并將其與業(yè)務(wù)層、持久化層的WebApplicationContext建立關(guān)聯(lián)。
?????? 3. 初始化Spring MVC的各個(gè)組成組件,并裝配到DispatcherServlet中。




<mvc:annotation-driven /> 說明:

是一種簡寫形式,可以讓初學(xué)者快速成應(yīng)用默認(rèn)的配置方案,會(huì)默認(rèn)注冊 DefaultAnnotationHandleMapping以及AnnotionMethodHandleAdapter 這兩個(gè) Bean, 這兩個(gè) Bean ,前者對應(yīng)類級(jí)別, 后者對應(yīng)到方法級(jí)別; 上在面的 DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter 是 Spring 為 @Controller 分發(fā)請求所必需的。 annotation-driven 掃描指定包中類上的注解,常用的注解有: 復(fù)制代碼 @Controller 聲明Action組件 @Service 聲明Service組件 @Service("myMovieLister") @Repository 聲明Dao組件 @Component 泛指組件, 當(dāng)不好歸類時(shí). @RequestMapping("/menu") 請求映射 @Resource 用于注入,( j2ee提供的 ) 默認(rèn)按名稱裝配,@Resource(name="beanName") @Autowired 用于注入,(srping提供的) 默認(rèn)按類型裝配 @Transactional( rollbackFor={Exception.class}) 事務(wù)管理 @ResponseBody @Scope("prototype") 設(shè)定bean的作用域
轉(zhuǎn)載地址:http://m.blog.csdn.net/blog/u012191627/41943393


總結(jié)

以上是生活随笔為你收集整理的Spring MVC工作原理 及注解说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。