Spring Boot教程提供了Spring Framework的基本和高級概念。我們的Spring Boot教程面向初學(xué)者和專業(yè)人士。
Spring Boot是一個(gè)Spring模塊,為Spring框架提供RAD(快速應(yīng)用程序開發(fā))功能。
我們的Spring Boot教程涵蓋了Spring Boot的所有主題,例如功能,項(xiàng)目,maven項(xiàng)目,啟動程序項(xiàng)目向?qū)?,Spring Initializr,CLI,應(yīng)用程序,注釋,依賴項(xiàng)管理,屬性,啟動程序,執(zhí)行器,JPA,JDBC等。
Spring Boot是一個(gè)構(gòu)建在Spring框架頂部的項(xiàng)目。它提供了一種簡便,快捷的方式來設(shè)置,配置和運(yùn)行基于Web的簡單應(yīng)用程序。
它是一個(gè)Spring模塊,提供了 RAD(快速應(yīng)用程序開發(fā))功能。它用于創(chuàng)建獨(dú)立的基于Spring的應(yīng)用程序,因?yàn)樗枰钌俚腟pring配置,因此可以運(yùn)行。
簡而言之,Spring Boot是 Spring Framework 和 嵌入式服務(wù)器的組合。
在Spring Boot不需要XML配置(部署描述符)。它使用約定優(yōu)于配置軟件設(shè)計(jì)范例,這意味著可以減少開發(fā)人員的工作量。
我們可以使用Spring STS IDE 或 Spring Initializr 進(jìn)行開發(fā)Spring Boot Java應(yīng)用程序。
為什么要使用Spring Boot Framework?
我們應(yīng)該使用Spring Boot Framework,因?yàn)?
Spring Boot中使用了依賴項(xiàng)注入方法。 它包含強(qiáng)大的數(shù)據(jù)庫事務(wù)管理功能。 它簡化了與其他Java框架(如JPA/Hibernate ORM,Struts等)的集成。 它減少了應(yīng)用程序的成本和開發(fā)時(shí)間。
與Spring Boot框架一起,其他許多Spring姐妹項(xiàng)目也有助于構(gòu)建滿足現(xiàn)代業(yè)務(wù)需求的應(yīng)用程序。 Spring姐妹項(xiàng)目如下:
Spring Data: 它簡化了來自關(guān)系數(shù)據(jù)庫和 NoSQL 數(shù)據(jù)庫的數(shù)據(jù)訪問。 Spring Batch: 它提供了強(qiáng)大的批處理處理。 Spring Security: 這是一個(gè)安全框架,可為應(yīng)用程序提供強(qiáng)大的安全性。 Spring Social: 它支持與LinkedIn等社交網(wǎng)絡(luò)集成。 Spring Integration: 它是企業(yè)集成模式的實(shí)現(xiàn)。使用輕量級消息傳遞和聲明性適配器,它有助于與其他企業(yè)應(yīng)用程序集成。
它創(chuàng)建獨(dú)立 Spring應(yīng)用程序,這些應(yīng)用程序可以使用Java -jar 啟動。 借助不同的嵌入式 HTTP服務(wù)器(例如 Tomcat,Jetty 等),它可以輕松測試Web應(yīng)用程序。我們不需要部署WAR文件。 它提供了有用的' starter 'POM,以簡化我們的Maven配置。 它提供了production-ready功能,例如metrics, health checks和externalized configuration.。 不需要 XML 配置。 它提供了一個(gè)用于開發(fā)和測試Spring Boot應(yīng)用程序的 CLI 工具。 它提供了許多插件。 它還最大限度地減少了編寫多個(gè)樣板代碼(必須在幾乎沒有任何改動的情況下將其包含在許多地方),XML配置和注釋的情況。 它提高生產(chǎn)力并減少開發(fā)時(shí)間。
Spring Boot可以使用應(yīng)用程序中不會使用的依賴項(xiàng)。這些依賴性增加了應(yīng)用程序的大小。
Spring Boot的主要目標(biāo)是減少 開發(fā),單元測試和 集成測試時(shí)間。
提供有目的的開發(fā)方法 避免定義更多的注釋配置 避免編寫大量導(dǎo)入語句 避免XML配置。
通過提供或避免上述幾點(diǎn),Spring Boot Framework減少了 開發(fā)時(shí)間,開發(fā)人員工作量并 提高了生產(chǎn)力。
要創(chuàng)建Spring Boot應(yīng)用程序,必須滿足以下先決條件。在本教程中,我們將使用 Spring Tool Suite (STS)IDE。
Java 1.8 Maven 3.0 + Spring Framework 5.0.0.BUILD-SNAPSHOT 建議使用IDE(Spring工具套件)。
Web開發(fā) SpringApplication 應(yīng)用程序事件和偵聽器 應(yīng)用管理 外部配置 屬性文件 YAML支持 類型安全配置 日志 安全性
Web開發(fā)
這是用于Web應(yīng)用程序開發(fā)的非常適合的Spring模塊。我們可以輕松創(chuàng)建一個(gè)獨(dú)立的HTTP應(yīng)用程序,該應(yīng)用程序使用 Tomcat,Jetty 或Undertow等嵌入式服務(wù)器。我們可以使用 spring-boot-starter-web 模塊快速啟動和運(yùn)行應(yīng)用程序。
SpringApplication
SpringApplication是一個(gè)類,提供了一種方便的方式來引導(dǎo)Spring應(yīng)用程序??梢詮膍ain方法開始。我們可以僅通過調(diào)用靜態(tài)run()方法來調(diào)用應(yīng)用程序。
public static void main(String[] args) { SpringApplication.run(ClassName.class, args); }
應(yīng)用程序事件和偵聽器
Spring Boot使用事件來處理各種任務(wù)。它允許我們創(chuàng)建用于添加偵聽器的工廠文件。我們可以使用 ApplicationListener鍵來引用它。
總是在META-INF文件夾中創(chuàng)建工廠文件,例如 META-INF/spring.factories 。
應(yīng)用管理
Spring Boot提供了為應(yīng)用程序啟用與管理員相關(guān)的功能的功能。它用于遠(yuǎn)程訪問和管理應(yīng)用程序。我們可以使用 spring.application.admin.enabled 屬性在Spring Boot應(yīng)用程序中啟用它。
外部配置
Spring Boot允許我們外部化我們的配置,以便我們可以在不同環(huán)境中使用同一應(yīng)用程序。該應(yīng)用程序使用YAML文件來外部化配置。
屬性文件
Spring Boot提供了一組豐富的 應(yīng)用程序?qū)傩?/strong>。因此,我們可以在項(xiàng)目的屬性文件中使用它。該屬性文件用于設(shè)置諸如
server-port = 8082 等屬性。它有助于組織應(yīng)用程序?qū)傩浴?/p>
YAML支持 它提供了一種方便的方法來指定層次結(jié)構(gòu)。它是JSON的超集。
SpringApplication類自動支持YAML。它是屬性文件的代替方法。 類型安全配置
強(qiáng)大的類型安全配置用于管理和驗(yàn)證應(yīng)用程序的配置。應(yīng)用程序配置始終是至關(guān)重要的任務(wù),應(yīng)該是類型安全的。我們還可以使用此庫提供的注釋。 日志 Spring
Boot對所有內(nèi)部記錄都使用通用記錄。默認(rèn)情況下管理日志記錄依賴項(xiàng)。如果不需要自定義,我們不應(yīng)更改日志記錄依賴項(xiàng)。 安全性 Spring Boot應(yīng)用程序是spring的Web應(yīng)用程序。因此,默認(rèn)情況下,通過所有HTTP端點(diǎn)上的基本身份驗(yàn)證,它是安全的??梢允褂靡唤M豐富的端點(diǎn)來開發(fā)安全的Spring
Boot應(yīng)用程序。