Spring Boot是用于創(chuàng)建微服務的基于Java的開源框架。它是由Pivotal Team開發(fā)的,用于構建獨立的和生產(chǎn)就緒的彈簧應用程序。本章將向您介紹Spring Boot,并使您熟悉其基本概念。
Spring: Spring框架是最流行的Java應用程序開發(fā)框架。 Spring框架的主要功能是依賴注入或控制反轉(IoC)。借助Spring Framework,我們可以開發(fā)一個松耦合的應用程序。如果純粹定義應用程序類型或特征,最好使用。
SpringBoot: Spring Boot是Spring Framework的模塊。它允許我們構建具有最少配置或零配置的獨立應用程序。如果我們要開發(fā)一個簡單的基于Spring的應用程序或RESTful服務,最好使用它。
Spring和Spring Boot之間的主要比較討論如下:
Spring | Spring Boot |
Spring Framework是用于構建應用程序的廣泛使用的Java EE框架。 | SpringBoot Framework 被廣泛用于開發(fā) REST API 。 |
它旨在簡化Java EE開發(fā),從而使開發(fā)人員更加高效。 | 它旨在縮短代碼長度,并提供開發(fā) Web應用程序的最簡單方法。 |
Spring Framework的主要功能是依賴注入。 | Spring Boot的主要功能是自動配置。它會根據(jù)需求自動配置類。 |
通過允許我們開發(fā)松耦合應用程序,可以使事情變得更簡單。 | 它有助于創(chuàng)建配置更少的獨立應用。 |
開發(fā)人員編寫了大量代碼(模板代碼)來完成最小的任務。 | 它減少樣板代碼。 |
要測試Spring項目,我們需要顯式設置服務器。 | SpringBoot提供了嵌入式服務器,例如 Jetty 和 Tomcat 等。 |
它不支持內(nèi)存數(shù)據(jù)庫。 | 它提供了多個插件來處理嵌入式和內(nèi)存中數(shù)據(jù)庫,例如 H2 。 |
開發(fā)人員在 pom.xml 中為Spring項目手動定義依賴項。 | Spring Boot在pom.xml文件中帶有 starter 概念,該概念內(nèi)部負責根據(jù)Spring Boot要求下載依賴項 JAR 。 |
Spring Boot: SpringBoot使得快速引導和開始開發(fā)基于Spring的過程變得容易。應用。它避免了很多樣板代碼。它隱藏了很多復雜的信息,因此開發(fā)人員可以快速入門并輕松開發(fā)基于Spring的應用程序。
Spring MVC: Spring MVC是用于以下方面的Web MVC框架: 構建Web應用程序。它包含許多用于各種功能的配置文件。這是一個面向HTTP的Web應用程序開發(fā)框架。
Spring Boot和Spring MVC出于不同的目的而存在。下面討論了Spring Boot和Spring MVC之間的主要比較:
SpringBoot | SpringMVC |
SpringBoot 是Spring的模塊,用于使用合理的默認值打包基于Spring的應用程序。 | SpringMVC 是Spring框架下基于模型視圖控制器的Web框架。 |
它提供了用于構建 Spring-powered 框架的默認配置。 | 它提供了易于使用功能來構建Web應用程序。 |
無需手動構建配置。 | 它需要手動進行構建配置。 |
不需要部署描述符。 | 必需。 |
它避免了樣板代碼,并將依賴項包裝在一個單元中。 | 它分別指定每個依賴項。 |
它減少開發(fā)時間并提高生產(chǎn)率。 | 要花費相同的時間,要花費更多。 |
SpringBoot是Spring框架的模塊。它用于輕松創(chuàng)建獨立的生產(chǎn)級基于Spring的應用程序。它是在核心Spring框架的頂部開發(fā)的。
SpringBoot遵循一個分層的體系結構,其中每一層都與它的直接下層或上層(層次結構)進行通信。
之前了解 SpringBoot Architecture 后,我們必須了解其中的不同層和類。 SpringBoot中有四個層,如下所示:
展示層 業(yè)務層 持久層 數(shù)據(jù)庫層
展示層: 表示層負責處理HTTP請求,將JSON參數(shù)轉換為對象,并對請求進行身份驗證并將其傳輸?shù)綐I(yè)務層。簡而言之,它由視圖即前端部分組成。
業(yè)務層: 業(yè)務層處理所有業(yè)務邏輯 >。它由服務類組成,并使用數(shù)據(jù)訪問層提供的服務。它還執(zhí)行授權和驗證。
持久層: 持久層包含所有存儲邏輯,并將業(yè)務對象與數(shù)據(jù)庫行進行相互轉換。
數(shù)據(jù)庫層: 在數(shù)據(jù)庫層中, CRUD (創(chuàng)建,檢索,更新,
現(xiàn)在我們有驗證器類,視圖類和實用程序類。 Spring Boot使用類似于Spring MVC,Spring Data等的所有模塊。SpringBoot的體系結構與Spring MVC的體系結構相同,不同之處在于: 不需要 DAO 和 DAOImpl 類在Spring啟動中。創(chuàng)建數(shù)據(jù)訪問層并執(zhí)行CRUD操作。客戶端發(fā)出HTTP請求(PUT或GET)。請求發(fā)送到控制器,然后控制器映射該請求并進行處理。之后,如果需要,它將調(diào)用服務邏輯。在服務層中,所有業(yè)務邏輯都將執(zhí)行。它對通過類映射到JPA的數(shù)據(jù)執(zhí)行邏輯。如果沒有發(fā)生錯誤,則會將JSP頁面返回給用戶。