Spring Boot教程提供了Spring Framework的基本和高級概念。我們的Spring Boot教程面向初學(xué)者和專業(yè)人士。
Spring Boot是一個Spring模塊,為Spring框架提供RAD(快速應(yīng)用程序開發(fā))功能。
我們的Spring Boot教程涵蓋了Spring Boot的所有主題,例如功能,項目,maven項目,啟動程序項目向?qū)В琒pring Initializr,CLI,應(yīng)用程序,注釋,依賴項管理,屬性,啟動程序,執(zhí)行器,JPA,JDBC等。
Spring Boot是一個構(gòu)建在Spring框架頂部的項目。它提供了一種簡便,快捷的方式來設(shè)置,配置和運行基于Web的簡單應(yīng)用程序。
它是一個Spring模塊,提供了 RAD(快速應(yīng)用程序開發(fā))功能。它用于創(chuàng)建獨立的基于Spring的應(yīng)用程序,因為它需要最少的Spring配置,因此可以運行。
簡而言之,Spring Boot是 Spring Framework 和 嵌入式服務(wù)器的組合。
在Spring Boot不需要XML配置(部署描述符)。它使用約定優(yōu)于配置軟件設(shè)計范例,這意味著可以減少開發(fā)人員的工作量。
我們可以使用Spring STS IDE 或 Spring Initializr 進行開發(fā)Spring Boot Java應(yīng)用程序。
為什么要使用Spring Boot Framework?
我們應(yīng)該使用Spring Boot Framework,因為:
Spring Boot中使用了依賴項注入方法。 它包含強大的數(shù)據(jù)庫事務(wù)管理功能。 它簡化了與其他Java框架(如JPA/Hibernate ORM,Struts等)的集成。 它減少了應(yīng)用程序的成本和開發(fā)時間。
與Spring Boot框架一起,其他許多Spring姐妹項目也有助于構(gòu)建滿足現(xiàn)代業(yè)務(wù)需求的應(yīng)用程序。 Spring姐妹項目如下:
Spring Data: 它簡化了來自關(guān)系數(shù)據(jù)庫和 NoSQL 數(shù)據(jù)庫的數(shù)據(jù)訪問。 Spring Batch: 它提供了強大的批處理處理。 Spring Security: 這是一個安全框架,可為應(yīng)用程序提供強大的安全性。 Spring Social: 它支持與LinkedIn等社交網(wǎng)絡(luò)集成。 Spring Integration: 它是企業(yè)集成模式的實現(xiàn)。使用輕量級消息傳遞和聲明性適配器,它有助于與其他企業(yè)應(yīng)用程序集成。
它創(chuàng)建獨立 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 配置。 它提供了一個用于開發(fā)和測試Spring Boot應(yīng)用程序的 CLI 工具。 它提供了許多插件。 它還最大限度地減少了編寫多個樣板代碼(必須在幾乎沒有任何改動的情況下將其包含在許多地方),XML配置和注釋的情況。 它提高生產(chǎn)力并減少開發(fā)時間。
Spring Boot可以使用應(yīng)用程序中不會使用的依賴項。這些依賴性增加了應(yīng)用程序的大小。
Spring Boot的主要目標(biāo)是減少 開發(fā),單元測試和 集成測試時間。
提供有目的的開發(fā)方法 避免定義更多的注釋配置 避免編寫大量導(dǎo)入語句 避免XML配置。
通過提供或避免上述幾點,Spring Boot Framework減少了 開發(fā)時間,開發(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)建一個獨立的HTTP應(yīng)用程序,該應(yīng)用程序使用 Tomcat,Jetty 或Undertow等嵌入式服務(wù)器。我們可以使用 spring-boot-starter-web 模塊快速啟動和運行應(yīng)用程序。
SpringApplication
SpringApplication是一個類,提供了一種方便的方式來引導(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)的功能的功能。它用于遠程訪問和管理應(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>。因此,我們可以在項目的屬性文件中使用它。該屬性文件用于設(shè)置諸如 server-port = 8082 等屬性。它有助于組織應(yīng)用程序?qū)傩浴?/p> YAML支持 它提供了一種方便的方法來指定層次結(jié)構(gòu)。它是JSON的超集。 SpringApplication類自動支持YAML。它是屬性文件的代替方法。 類型安全配置 強大的類型安全配置用于管理和驗證應(yīng)用程序的配置。應(yīng)用程序配置始終是至關(guān)重要的任務(wù),應(yīng)該是類型安全的。我們還可以使用此庫提供的注釋。 日志 Spring Boot對所有內(nèi)部記錄都使用通用記錄。默認(rèn)情況下管理日志記錄依賴項。如果不需要自定義,我們不應(yīng)更改日志記錄依賴項。 安全性 Spring Boot應(yīng)用程序是spring的Web應(yīng)用程序。因此,默認(rèn)情況下,通過所有HTTP端點上的基本身份驗證,它是安全的??梢允褂靡唤M豐富的端點來開發(fā)安全的Spring Boot應(yīng)用程序。