springboot框架搭建,SpringMVC框架、Spring boot框架、SSM區別

 2023-10-18 阅读 31 评论 0

摘要:參考: 構建微服務:Spring boot 入門篇? ? ? ?https://www.cnblogs.com/ityouknow/p/5662753.html Spring Cloud與Docker的完美結合?https://blog.csdn.net/huanglitao0912/article/details/82314123 SpringCloud與SpringBoot區別??https://blog.csdn.net/terry

參考:

構建微服務:Spring boot 入門篇? ? ? ?https://www.cnblogs.com/ityouknow/p/5662753.html

Spring Cloud與Docker的完美結合?https://blog.csdn.net/huanglitao0912/article/details/82314123

SpringCloud與SpringBoot區別??https://blog.csdn.net/terrydu/article/details/88565833

springboot框架搭建。Spring,Spring MVC及Spring Boot區別? ?https://www.jianshu.com/p/42620a0a2c33

Springboot,SSM框架比較,區別? ?https://www.cnblogs.com/fightingting/p/10587613.html

?

1、Spring boot 是 Spring 的一套快速配置腳手架,可以基于spring boot 快速開發單個微服務;Spring Cloud是一個基于Spring Boot實現的云應用開發工具;

2、Spring boot專注于快速、方便集成的單個個體,Spring Cloud是關注全局的服務治理框架;

java的mvc框架?3、spring boot使用了默認大于配置的理念,很多集成方案已經幫你選擇好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot來實現。

4、Spring boot可以離開Spring Cloud獨立使用開發項目,但是Spring Cloud離不開Spring boot,屬于依賴的關系。

?

1.1?SpringMVC 概述?

1)?Spring 為展現層提供的基于 MVC 設計理念的優秀的 Web 框架,是目前最主流的

MVC 框架之一

2Spring3.0 后全面超越 Struts2,成為最優秀的 MVC 框架。

maven java、3Spring MVC 通過一套 MVC 注解,讓 POJO 成為處理請求的控制器,而無須實現任

何接口。

4)支持 REST 風格的 URL 請求。

Spring boot?5)采用了松散耦合可插拔組件結構,比其他 MVC 框架更具擴展性和靈活性。

?

1.1?SpringMVC是什么

?

springboot框架的優點。1)一種輕量級的、基于MVC的Web層應用框架。偏前端而不是基于業務邏輯層。Spring框架的一個后續產品。

?

2Spring框架結構圖(新版本):

Springboot框架?

1.3 SpringMVC能干什么

1)?天生與Spring框架集成,如:(IOC,AOP)

2)?支持Restful風格

3)?進行更簡潔的Web層開發

4)?支持靈活的URL到頁面控制器的映射

5)?非常容易與其他視圖技術集成,如:Velocity、FreeMarker等等

6)?因為模型數據不存放在特定的API里,而是放在一個Model里(Map數據結構實現,因此很容易被其他框架使用)

7)?非常靈活的數據驗證、格式化和數據綁定機制、能使用任何對象進行數據綁定,不必實現特定框架的API

8)?更加簡單、強大的異常處理

9)?對靜態資源的支持

10)?支持靈活的本地化、主題等解析

?

1.4 SpringMVC怎么玩

1)?將Web層進行了職責解耦,基于請求-響應模型

2)?常用主要組件

①?DispatcherServlet:前端控制器

②?Controller:處理器/頁面控制器,做的是MVC中的C的事情,但控制邏輯轉移到前端控制器了,用于對請求進行處理

③?HandlerMapping?:請求映射到處理器,找誰來處理,如果映射成功返回一個HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器對象)

④?View Resolver?: 視圖解析器,找誰來處理返回的頁面。把邏輯視圖解析為具體的View,進行這種策略模式,很容易更換其他視圖技術;

n?如InternalResourceViewResolver將邏輯視圖名映射為JSP視圖

⑤?LocalResolver:本地化、國際化

⑥?MultipartResolver:文件上傳解析器

⑦?HandlerExceptionResolver:異常處理器

?

1.5 REST是什么?

1)?REST:即 Representational State Transfer(資源)表現層狀態轉化。是目前最流行

的一種互聯網軟件架構。它結構清晰、符合標準、易于理解、擴展方便,所以正得到越來越多網站的采用

①?資源(Resources):網絡上的一個實體,或者說是網絡上的一個具體信息。

它可以是一段文本、一張圖片、一首歌曲、一種服務,總之就是一個具體的存在。

可以用一個URI(統一資源定位符)指向它,每種資源對應一個特定的 URI 。

獲取這個資源,訪問它的URI就可以,因此 URI 即為每一個資源的獨一無二的識別符。

②?表現層(Representation):把資源具體呈現出來的形式,叫做它的表現層(Representation)。比如,文本可以用 txt 格式表現,也可以用 HTML 格式、XML 格式、JSON 格式表現,甚至可以采用二進制格式。

③?狀態轉化(State Transfer):每發出一個請求,就代表了客戶端和服務器的一次交互過程。HTTP協議,是一個無狀態協議,即所有的狀態都保存在服務器端。因此,如果客戶端想要操作服務器,必須通過某種手段,讓服務器端發生“狀態轉化”(State Transfer)

而這種轉化是建立在表現層之上的,所以就是 “表現層狀態轉化”。

④?具體說,就是 HTTP 協議里面,四個表示操作方式的動詞:GET、POST、PUT、DELETE。

它們分別對應四種基本操作:GET 用來獲取資源,POST 用來新建資源,PUT 用來更新資源,DELETE 用來刪除資源。

?

2. Spring SpringMVC的整合問題:?

1)?需要進行 Spring 整合 SpringMVC ??

2)?還是否需要再加入 Spring IOC 容器 ??

3)?是否需要在web.xml 文件中配置啟動 Spring IOC 容器的 ContextLoaderListener ?

?

需要: 通常情況下, 類似于數據源, 事務, 整合其他框架都是放在 Spring 的配置文件 ??(而不是放在 SpringMVC 的配置文件中).?實際上放入 Spring 配置文件對應的 IOC 容器中的還有 Service Dao.

不需要: 都放在 SpringMVC 的配置文件中. 也可以分多個 Spring 的配置文件,?然后使 import 節點導入其他的配置文件?

?

?

3. SpringIOC 容器和 SpringMVC IOC 容器的關系

?

SpringMVC IOC 容器中的 bean 可以來引用 Spring IOC 容器中的 bean.

?

返回來呢 ? 反之則不行. Spring IOC 容器中的 bean 卻不能來引用 SpringMVC IOC 容器中的 bean?

?

1)? Spring MVC 配置文件中引用業務層的 Bean

?

2)?多個 Spring IOC 容器之間可以設置為父子關系,以實現良好的解耦。

?

3)?Spring MVC WEB 層容器可作為 “業務層” Spring 容器的子容器:

?

WEB 層容器可以引用業務層容器的 Bean,而業務層容器卻訪問不到 WEB 層容器的 Bean

4. SpringMVC對比Struts2

1 Spring MVC 的入口是 Servlet, Struts2 FilterSpring MVC 會稍微比 Struts2 快些.

2 Spring MVC 是基于方法設計, Sturts2 是基于類,

????每次發一次請求都會實例一個 Action.

1)?Spring MVC 使用更加簡潔, 開發效率Spring MVC確實比 struts2 : 支持 JSR303, ?ajax 的請求更方便

2)?Struts2 OGNL 表達式使頁面的開發效率相比 Spring MVC 更高些.?

?

轉載于:https://www.cnblogs.com/highpointengineer/p/10895256.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/145381.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息