91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring中Spring?Boot與Spring?MVC的核心概念是什么

發布時間:2022-03-17 17:14:48 來源:億速云 閱讀:380 作者:iii 欄目:開發技術

這篇文章主要介紹了Spring中Spring Boot與Spring MVC的核心概念是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Spring中Spring Boot與Spring MVC的核心概念是什么文章都會有所收獲,下面我們一起來看看吧。

一、Spring Boot 、 Spring MVC 、Spring對比

首先你需要明白一件事情:Spring Boot項目目的并不是替換Spring、SpringMVC,而是使他們用起來更加簡單。

Spring 框架

Spring框架最核心的特性就是依賴注入DI(Dependency Injecttion)和控制反轉IOC(Inversion Of Control)。如果你能夠合理的使用DI和IOC,可以開發出松耦合、擴展性好的的應用程序。

Spring中Spring?Boot與Spring?MVC的核心概念是什么

Spring MVC

Spring MVC提供了一種友好的方式來開發Web應用程序。 通過使用諸如Dispatcher Servlet,ModelAndView和View Resolver,可以輕松開發Web應用程序。

Spring Boot

Spring 和 Spring MVC最大的弊病在于存在大量的配置,并且這些配置在不同的項目中具有很高的相似性。從而導致重復配置,繁瑣而且雜亂!

Spring中Spring?Boot與Spring?MVC的核心概念是什么

Spring Boot期望通過結合自動配置和starters來解決了這個問題。 另外,Spring Boot還提供了一些功能,可以更快地構建可用于生產環境的應用程序。

二、Spring Boot 自動配置

Spring和Spring MVC應用程序里面有大量的XML或Java Bean配置。Spring Boot為解決這個問題,提供一種新的解決方案,新的思維方式。

Spring中Spring?Boot與Spring?MVC的核心概念是什么

springboot思考的方式:是不是可以更加智能一點,當Spring中加入一些新的jar包,加入一些配置,可以自動的影響應用內的bean的加載。 比如:Spring MVC JAR位于類路徑中時,自動配置Dispatcher Servlet。當然,當這些自動的默認配置不符合我們的要求的時候,我們可以修改。修改之前加載的這一些Bean,配置修改之后會自動加載另外一些Bean。

三、什么是Spring Boot Starter?

Spring Boot Starter是一組被依賴第三方類庫的集合。

如果你要開發一個web應用程序,就通過包管理工具(如maven)引入spring-boot-starter-web就可以了,而不用分別引入下面這么多依賴類庫,spring-boot-starter-web一次性幫你引入下面的這些常用類庫。

  • Spring — spring 核心, beans, context上下文, AOP面向切面

  • Web MVC — Spring MVC

  • Jackson — JSON數據的序列化與反序列化

  • Validation — Hibernate參數校驗及校驗API

  • 嵌入式 Servlet Container — Tomcat

  • 日志框架Logging — logback, slf4j

Spring中Spring?Boot與Spring?MVC的核心概念是什么

四、什么是Spring Boot Starter Parent

所有的Spring Boot項目默認使用spring-boot-starter-parent作為應用程序的父項目。

<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.0.0.RELEASE</version>
</parent>

繼承父項目的好處在于: 統一java版本配置和其他的一些依賴類庫的版本。也就是說,你引入的第三方類庫不要加版本號,父項目替你管理版本,而且是經過兼容性測試的。比你自己隨便引入一個版本兼容性更好。

當然父項目只能幫你管理一些常用類庫的版本,如果你引入一些不常用的jar,還是要自己管理版本號及兼容性!

五、嵌入式web容器

Spring boot打成jar包,默認包含嵌入式的web容器:tomcat。你可以簡單的使用如下命令啟動一個web服務:

java -jar springboot-demo.jar

這更有利于微服務的部署及微服務的構建、啟動、擴容。Spring Boot還支持Jetty和Undertow作為web容器。

六、Spring Data

Spring中Spring?Boot與Spring?MVC的核心概念是什么

Spring Data的目標是提供一種更友好的方式或者是API來存取數據。包括對于關系型數據庫NOSQL數據的支持。比如:

  • Spring Data JPA &mdash; 關系型數據庫操作的API,友好且易于使用

  • Spring Data MongoDB -MongoDB的操作API

  • Spring Data REST &mdash; 從持久層Repositories自動生成服務層API,暴露 REST APIs 接口。超級好用!

當然,Spring Data還有更多好用的特性和支持等待你去探索!

七、spring boot2.x新特性

7.1.基礎環境升級

  • 最低 JDK 8,支持 JDK 9,不再支持 Java 6 和 7。Spring Boot 2.0 要求 Java 8 作為最低版本,許多現有的 API 已更新,以利用 Java 8 的特性。
    例如,接口上的默認方法,函數回調以及新的 API,如 javax.time。

  • 如果你正在使用 Java 7 或更早版本,則在開發 Spring Boot 2.0 應用程序之前,需要升級你的 JDK。

7.2.依賴組件升級

  • Jetty 9.4,Jetty 是一個開源的 Servlet 容器,它為基于 Java 的 Web 內容,例如 JSP 和 Servlet 提供運行環境。Jetty 是使用 Java 語言編寫的,它的 API 以一組 JAR 包的形式發布。

  • Tomcat 8.5,Apache Tomcat 8.5.x 旨在取代 8.0.x,完全支持 Java 9。

  • Flyway 5,Flyway 是獨立于數據庫的應用、管理并跟蹤數據庫變更的數據庫版本管理工具。用通俗的話講,Flyway 可以像 SVN 管理不同人的代碼那樣,管理不同人的 SQL 腳本,從而做到數據庫同步。

  • Hibernate 5.2,Hibernate 是一款非常流行的 ORM 框架。

  • Gradle 3.4,Spring Boot 的 Gradle 插件在很大程度上已被重寫,有了重大的改進。

  • Thymeleaf 3.0,Thymeleaf 3 相對于 Thymeleaf 2 有非常大的性能提升。

7.3. 默認軟件替換

  • 默認數據庫連接池已從 Tomcat 切換到 HikariCP,HikariCP 是一個高性能的 JDBC 連接池,Hikari 是日語“光”的意思。

  • redis客戶端默認使用 Lettuce,替換掉Jedis.Lettuce 是一個可伸縮的線程安全的 Redis 客戶端,用于同步、異步和反應使用。多個線程可以共享同一個 RedisConnection,它利用優秀 Netty NIO 框架來高效地管理多個連接,支持先進的 Redis 功能,如 Sentinel、集群、流水線、自動重新連接和 Redis 數據模型。

7.4.新技術的引入

  • 響應式編程WebFlux,重要的變革,后續章節會詳細展示

  • 支持 Quartz,Spring Boot 1.0 并沒有提供對 Quartz 的支持,之前出現了各種集成方案,Spring Boot 2.0 給出了最簡單的集成方式。

  • 對Kotlin 的支持

  • JOOQ 的支持,JOOQ 是基于 Java 訪問關系型數據庫的工具包。JOOQ 既吸取了傳統 ORM 操作數據的簡單性和安全性,又保留了原生 SQL 的靈活性,它更像是介于 ORMS 和 JDBC 的中間層。

7.5.彩蛋

在 Spring Boot 1.0 項目中 src/main/resources 路徑下新建一個 banner.txt 文件,文件中寫入一些字符,啟動項目時就會發現默認的 Banner 被替換了,到了 Spring Boot 2.0 現在可以支持 Gif 文件的打印,Spring Boot 2.0 在項目啟動的時候,會將 Gif 圖片的每一個畫面,按照順序打印在日志中,所有的畫面打印完畢后,才會啟動 Spring Boot 項目。

關于“Spring中Spring Boot與Spring MVC的核心概念是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Spring中Spring Boot與Spring MVC的核心概念是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富川| 闻喜县| 嘉峪关市| 鱼台县| 通辽市| 苍南县| 丹江口市| 星子县| 扬中市| 墨江| 江口县| 蒙自县| 逊克县| 景谷| 永吉县| 晋州市| 乐平市| 崇阳县| 荃湾区| 宣化县| 牡丹江市| 湘潭市| 南溪县| 阿克| 游戏| 白河县| 墨脱县| 久治县| 运城市| 莎车县| 长顺县| 平乐县| 伊川县| 清流县| 宁夏| 连城县| 左权县| 介休市| 永靖县| 吉首市| 嘉义市|