超詳細的Spring Boot教程,搞定面試官!

前言

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。

 

一、 Spring Boot文檔

1、關於文檔

2、獲得幫助

3、第一步

4、使用Spring Boot

5、瞭解Spring Boot特性

6、轉向生產

7、高級主題

二、入門

1、介紹Spring Boot

2、系統要求

2.1、Servlet容器

3、安裝Spring Boot

3.1、Java開發人員的安裝說明

(1)Maven安裝

(2)Gradle安裝

3.2、安裝Spring Boot CLI

(1)手動安裝

(2)使用SDKMAN進行安裝!

(3)OSX Homebrew安裝

(4)MacPorts安裝

(5)命令行完成

(6)快速啓動Spring CLI示例

3.2、從較早版本的Spring Boot升級

4、開發你的第一個Spring Boot應用程序

4.1、創建POM

4.2、添加類路徑依賴關係

4.3、編寫代碼

(1)@RestController和@RequestMapping註解

(2)@EnableAutoConfiguration註釋

(3)“主要”方法

4.4、運行示例

4.5、創建一個可執行的Jar

5、下一步閱讀什麼

三、使用Spring Boot

1、建立系統

1.1、依賴管理

1.2、Maven的

(1)繼承初始父項

(2)使用沒有父POM的Spring Boot

(3)使用Spring Boot Maven插件

1.3、搖籃

1.4、螞蟻

1.5、首發

2、構建你的代碼

2.1、使用“默認”包

2.2、查找主要應用程序類

3、配置類

3.1、導入其他配置類

3.2、導入XML配置

4、自動配置

4.1、逐漸替換自動配置

4.2、禁用特定的自動配置類

5、春豆和依賴注入

6、使用@SpringBootApplication註釋

7、運行你的應用程序

7.1、從IDE運行

7.2、作爲打包應用程序運行

7.3、使用Maven插件

7.4、使用Gradle插件

7.5、熱交換

8、開發人員工具

8.1、屬性默認值

8.2、自動重啓

(1)記錄條件評估中的更改

(2)排除資源

(3)看額外的路徑

(4)禁用重新啓動

(5)使用觸發文件

(6)自定義重啓類加載器

(7)已知限制

8.3、LiveReload

8.4、全局設置

8.5、遠程應用

(1)運行遠程客戶端應用程序

(2)遠程更新

9、包裝您的生產申請

10、下一步閱讀什麼

四、Spring Boot功能

1、SpringApplication

1.1、啓動失敗

1.2、自定義橫幅

1.3、自定義SpringApplication

1.4、Fluent Builder API

1.5、應用程序事件和監聽器

1.6、Web環境

1.7、訪問應用程序參數

1.8、使用ApplicationRunner或CommandLineRunner

1.9、申請退出

1.10、管理功能

2、外部化配置

2.1、配置隨機值

2.2、訪問命令行屬性

2.3、應用程序屬性文件

2.4、配置文件特定的屬性

2.5、屬性中的佔位符

2.6、使用YAML而不是屬性

(1)正在加載YAML

(2)在Spring環境中將YAML作爲屬性公開

(3)多配置文件YAML文件

(4)YAML的缺點

(5)合併YAML列表

2.7、類型安全的配置屬性

(1)第三方配置

(2)輕鬆的綁定

(3)屬性轉換

(4)@ConfigurationProperties驗證

(5)@ConfigurationProperties與@Value

3、簡介

3.1、添加活動配置文件

3.2、編程設置配置文件

3.3、配置文件特定的配置文件

4、記錄

4.1、日誌格式

4.2、控制檯輸出

(1)彩色編碼輸出

4.3、文件輸出

4.4、日誌級別

4.5、自定義日誌配置

4.6、Logback擴展

(1)配置文件特定的配置

(2)環境屬性

5、開發Web應用程序

5.1、“Spring Web MVC框架”

(1)Spring MVC自動配置

(2)HttpMessageConverters

(3)自定義JSON序列化器和反序列化器

(4)MessageCodesResolver的信息

(5)靜態內容

(6)歡迎頁面

(7)自定義Favicon

(8)路徑匹配和內容協商

(9)ConfigurableWebBindingInitializer

5.2、“Spring WebFlux框架”

(1)Spring WebFlux自動配置

(2)使用HttpMessageReaders和HttpMessageWriters的HTTP編解碼器

(3)靜態內容

(4)模板引擎

(5)錯誤處理

(6)網頁過濾器

5.3、JAX-RS和澤西島

5.4、嵌入式Servlet容器支持

(1)Servlet,過濾器和監聽器

將Spring Servlet,過濾器和監聽器註冊爲Spring Bean

(2)Servlet上下文初始化

掃描Servlet,篩選器和偵聽器

(3)ServletWebServerApplicationContext

(4)定製嵌入式Servlet容器

程序化定製

直接自定義ConfigurableServletWebServerFactory

(5)JSP限制

6、安全

6.1、MVC安全

6.2、WebFlux安全

6.3、的OAuth2

(1)客戶

6.4、執行器安全

(1)跨站請求僞造保護

7、使用SQL數據庫

7.1、配置一個數據源

(1)嵌入數據庫支持

(2)連接到生產數據庫

(3)連接到JNDI數據源

7.2、使用JdbcTemplate

7.3、JPA和“Spring Data”

(1)實體類

(2)Spring Data JPA存儲庫

(3)創建和刪除JPA數據庫

(4)在View中打開EntityManager

7.4、使用H2的Web控制檯

(1)更改H2 Console的路徑

7.5、使用jOOQ

(1)代碼生成

(2)使用DSLContext

(3)jOOQ SQL方言

(4)定製jOOQ

8、與NoSQL Technologies合作

8.1、Redis的

(1)連接到Redis

8.2、MongoDB的

(1)連接到MongoDB數據庫

(2)MongoTemplate

(3)Spring Data MongoDB存儲庫

(4)嵌入式Mongo

8.3、Neo4j的

(1)連接到Neo4j數據庫

(2)使用嵌入式模式

(3)Neo4jSession

(4)Spring Data Neo4j存儲庫

(5)存儲庫示例

8.4、的GemFire

8.5、Solr的

(1)連接到Solr

(2)Spring Data Solr存儲庫

8.6Elasticsearch

(1)使用Jest連接到Elasticsearch

(2)通過使用Spring數據連接到Elasticsearch

(3)Spring Data Elasticsearch存儲庫

8.7、卡桑德拉

(1)連接到Cassandra

(2)Spring Data Cassandra存儲庫

8.8、Couchbase

(1)連接到Couchbase

(2)Spring Data Couchbase存儲庫

8.9、LDAP

(1)連接到LDAP服務器

(2)Spring數據LDAP存儲庫

(3)嵌入式內存LDAP服務器

8.10、InfluxDB

(1)連接到InfluxDB

9、緩存

9.1、支持的緩存提供程序

(1)通用

(2)JCache(JSR-107)

(3)EhCache 2.x

(4)Hazelcast

(5)Infinispan的

(6)Couchbase

(7)Redis的

(8)咖啡因

(9)簡單

9.2、JMS

(1)ActiveMQ支持

(2)Artemis支持

(3)使用JNDI ConnectionFactory

(4)發送消息

(5)接收消息

9.3、AMQP

(1)RabbitMQ支持

(2)發送消息

(3)接收消息

9.4、Apache Kafka支持

(1)發送消息

(2)接收消息

(3)額外的卡夫卡屬性

10、用REST調用REST服務 RestTemplate

10.1、RestTemplate自定義

11、用REST調用REST服務 WebClient

11.1、WebClient自定義

12、驗證

13、發送電子郵件

14、與JTA的分佈式事務

14.1、使用Atomikos事務管理器

14.2、使用Bitronix事務管理器

14.3、使用Narayana事務管理器

14.4、使用Java EE託管事務管理器

14.5、混合XA和非XA JMS連接

14.6、支持替代嵌入式事務管理器

15、Hazelcast

16、石英調度器

17、春季融合

18、春季會議

19、通過JMX進行監視和管理

20、測試

20.1、測試範圍依賴關係

20.2、測試Spring應用程序

20.3、測試Spring Boot應用程序

(1)檢測Web應用程序類型

(2)檢測測試配置

(3)不包括測試配置

(4)使用運行的服務器進行測試

(5)嘲笑和偵察豆

(6)自動配置的測試

(7)自動配置的JSON測試

(8)自動配置的Spring MVC測試

(9)自動配置的Spring WebFlux測試

(10)自動配置的數據JPA測試

(11)自動配置的JDBC測試

(12)自動配置的jOOQ測試

(13)自動配置的數據MongoDB測試

(14)自動配置的數據Neo4j測試

(15)自動配置的數據Redis測試

(16)自動配置的數據LDAP測試

(17)自動配置的REST客戶端

(18)自動配置的Spring REST Docs測試

自動配置的Spring REST Docs使用Mock MVC進行測試

自動配置的Spring REST Docs使用REST Assured進行測試

(19)用戶配置和切片

(20)使用Spock測試Spring Boot應用程序

20.4、測試實用程序

(1)ConfigFileApplicationContextInitializer

(2)EnvironmentTestUtils

(3)OutputCapture

(4)TestRestTemplate

21、 WebSockets

22、網絡服務

23、創建您自己的自動配置

23.1、瞭解自動配置的Bean

23.2、查找自動配置候選人

23.3、條件註釋

(1)班級條件

(2)豆條件

(3)財產狀況

(4)資源條件

(5)Web應用程序條件

(6)SpEL表達條件

23.4、測試你的自動配置

(1)模擬Web上下文

(2)覆蓋類路徑

23.5、創建你自己的啓動器

(1)命名

(2) autoconfigure 模

(3)入門模塊

24.Kotlin的支持

24.1、要求

24.2、空安全

24.3、Kotlin API

(1)runApplication

(2)擴展

24.4、依賴管理

24.5、 @ConfigurationProperties

24.6、測試

24.7、資源

(1)進一步閱讀

(2)例子

25、下一步閱讀什麼

 

五、Spring Boot執行器:生產就緒功能

1、啓用生產就緒功能

2、終點

2.1、啓用端點

2.2、暴露端點

2.3、保護HTTP端點

2.4、配置端點

2.5、執行器Web終端的超媒體

2.6、執行器Web端點路徑

2.7、CORS支持

2.8、實現自定義端點

(1)接收輸入

輸入類型轉換

(2)自定義Web端點

  • Web端點請求謂詞

  • 路徑

  • HTTP方法

  • 消費

  • 產生

  • Web端點響應狀態

  • Web端點範圍請求

  • Web端點安全

(3)Servlet端點

(4)控制器端點

2.9、健康信息

(1)自動配置的HealthIndicators

(2)編寫自定義HealthIndicators

(3)反應性健康指標

(4)自動配置的ReactiveHealthIndicators

2.10、應用信息

(1)自動配置InfoContributors

(2)自定義應用信息

(3)Git提交信息

(4)構建信息

(5)編寫自定義InfoContributors

3、通過HTTP進行監控和管理

3.1、自定義管理端點路徑

3.2、自定義管理服務器端口

3.3、配置管理特定的SSL

3.4、自定義管理服務器地址

3.5、禁用HTTP端點

4、通過JMX進行監控和管理

4.1、定製MBean名稱

4.2、禁用JMX終結點

4.3、通過HTTP使用Jolokia進行JMX

(1)定製Jolokia

(3)禁用Jolokia

伐木者

4.3配置記錄器

5、度量

5.1、入門

5.2、支持的監測系統

(1)輿圖

(2)Datadog

(3)神經節

(4)石墨

(5)輻輳

(6)JMX

(7)新的遺物

(8)普羅米修斯

(9)SignalFx

(10)簡單

(11)StatsD

(12)波前

5.3、支持的度量標準

(1)Spring MVC度量標準

(2)Spring WebFlux指標

(3)RestTemplate指標

(4)高速緩存指標

(5)數據源指標

(6)RabbitMQ指標

5.4、註冊自定義指標

5.5、自定義各個指標

(1)每米性能

5.6、指標終點

6、審計

7、HTTP跟蹤

7.1、自定義HTTP跟蹤

8、過程監測

8.1、擴展配置

8.2、編程

9、 Cloud Foundry支持

9.1、禁用擴展Cloud Foundry執行器支持

9.2、Cloud Foundry自簽名證書

9.3、自定義上下文路徑

10、接下來要讀什麼

六、部署Spring Boot應用程序

1、部署到雲

1.1、Cloud Foundry

(1)綁定到服務

1.2、Heroku的

1.3、OpenShift

1.4、亞馬遜網絡服務(AWS)

(1)AWS Elastic Beanstalk

  • 使用Tomcat平臺

  • 使用Java SE平臺

(2)概要

1.5、Boxfuse和亞馬遜網絡服務

1.6、Google Cloud

2、安裝Spring Boot應用程序

2.1、支持的操作系統

2.2、Unix / Linux服務

(1)安裝即 init.d 服務(System V)

確保 init.d 服務

(2)安裝即 systemd 服務

(3)自定義啓動腳本

  • 在寫入時自定義啓動腳本

  • 在運行時自定義腳本

2.3、Microsoft Windows服務

3、接下來要讀什麼

七、Spring Boot CLI

1、安裝CLI

2、使用CLI

2.1、使用CLI運行應用程序

(1)推導出“搶”依賴

(2)推導出“搶”座標

(3)默認導入語句

(4)自動主要方法

(5)定製依賴管理

2.2、有多個源文件的應用程序

2.3、打包你的應用程序

2.4、初始化新項目

2.5、使用嵌入式外殼

2.6、向CLI添加擴展

3、使用Groovy Beans DSL開發應用程序

4、使用CLI配置CLI settings.xml

5、接下來要讀什麼

 

八、構建工具插件

1、Spring Boot Maven插件

1.1、包括插件

1.2、打包可執行的jar和war文件

2、 Spring Boot Gradle插件

3、Spring Boot AntLib模塊

3.1、Spring Boot Ant任務

(1) spring-boot:exejar

(2)例子

3.2、spring-boot:findmainclass

(1)例子

4、支持其他構建系統

4.1、重新包裝檔案

4.2、嵌套庫

4.3、找到一個主要類

4.4、示例重新打包實施

5、接下來要讀什麼

九、'指導'指南

1、Spring Boot應用程序

1.1、創建你自己的FailureAnalyzer

1.2、解決自動配置問題

1.3、在開始之前自定義環境或ApplicationContext

1.4、構建ApplicationContext層次結構(添加父級或根級上下文)

1.5、創建一個非Web應用程序

2、屬性和配置

2.1、在構建時自動擴展屬性

(1)使用Maven自動擴展屬性

(2)使用Gradle的自動屬性擴展

2.2、外部化配置 SpringApplication

2.3、更改應用程序的外部屬性的位置

2.4、使用'短'命令行參數

2.5、使用YAML作爲外部屬性

2.6、設置活動的彈簧配置文件

2.7、根據環境更改配置

2.8、發現外部屬性的內置選項

3、嵌入式Web服務器

3.1、使用另一個Web服務器

3.2、配置碼頭

3.3、將Servlet,Filter或Listener添加到應用程序

(1)使用Spring Bean添加Servlet,Filter或Listener

禁用Servlet或Filter的註冊

(2)通過使用類路徑掃描添加Servlet,篩選器和監聽器

3.4、更改HTTP端口

3.5、使用隨機未分配的HTTP端口

3.6、在運行時發現HTTP端口

3.6、配置SSL

3.8、配置HTTP / 2

(1)HTTP / 2與Undertow

(2)HTTP / 2與Jetty

(3)HTTP / 2與Tomcat

3.9、配置訪問日誌記錄

3.10、運行在前端代理服務器後面

(1)自定義Tomcat的代理配置

3.11、配置Tomcat

3.12、使用Tomcat啓用多個連接器

3.13、使用Tomcat的LegacyCookieProcessor

3.14、配置Undertow

3.15、使用Undertow啓用多個監聽器

3.16、使用@ServerEndpoint創建WebSocket端點

3.17、啓用HTTP響應壓縮

4、 Spring MVC

4.1、編寫一個JSON REST服務

4.2、編寫一個XML REST服務

4.3、自定義Jackson ObjectMapper

4.4、自定義@ResponseBody呈現

4.5、處理多部分文件上傳

4.6、關閉Spring MVC DispatcherServlet

4.7、關閉默認的MVC配置

4.8、自定義ViewResolvers

5、HTTP客戶端

5.1、配置RestTemplate以使用代理

記錄

5.2、配置Logback進行日誌記錄

(1)爲純文件輸出配置Logback

5.3、配置Log4j進行日誌記錄

(1)使用YAML或JSON配置Log4j 2

6、數據訪問

6.1、配置一個自定義數據源

6.2、配置兩個數據源

6.3、使用Spring數據存儲庫

6.4、Spring配置分離@實體定義

6.5、配置JPA屬性

6.7、使用自定義EntityManagerFactory

6.10、使用Spring Data JPA和Mongo倉庫

6.12、配置由JPA使用的組件

6.13、用兩個數據源配置jOOQ

7、數據庫初始化

7.1、使用JPA初始化數據庫

7.2、使用Hibernate初始化數據庫

7.3、初始化數據庫

7.4、初始化一個Spring批處理數據庫

7.5、使用更高級別的數據庫遷移工具

(1)啓動時執行Flyway數據庫遷移

(2)在啓動時執行Liquibase數據庫遷移

信息

7.6、禁用事務處理JMS會話

8、批量應用程序

8.1、在啓動時執行Spring批處理作業

9、執行器

9.1、更改執行器端點的HTTP端口或地址

9.2、自定義'whitelabel'錯誤頁面

10、安全

10.1、關閉Spring Boot安全配置

10.2、更改UserDetailsS ervice和添加用戶帳戶

10.3、在代理服務器後運行時啓用HTTPS

11、熱插拔

11.1、重新加載靜態內容

11.2、重新加載模板而不重新啓動容器

(1)Thymeleaf模板

(2)FreeMarker模板

(3)Groovy模板

11.3、快速應用程序重啓

11.4、重新加載Java類而不重新啓動容器

12、建設

12.1、生成構建信息

12.2、生成Git信息

12.3、自定義依賴版本

12.4、用Maven創建一個可執行的JAR

12.5、使用Spring Boot應用程序作爲依賴項

12.6、當可執行jar運行時提取特定的庫

12.7、用排除項創建一個不可執行的JAR

12.8、遠程調試Maven啓動的Spring Boot應用程序

12.9、在不使用的情況下從Ant構建可執行文件 spring-boot-antlib

13、傳統部署

13.1、創建一個可部署的戰爭文件

13.2、爲較老的Servlet容器創建一個可部署的戰爭文件

13.3、將現有的應用程序轉換爲Spring Boot

13.4、將WAR部署到WebLogic

13.5、在舊的(Servlet 2.5)容器中部署WAR

13.6使用Jedis代替生菜

十、附錄

1、通用應用程序屬性

2、配置元數據

2.1、元數據格式

(1)組屬性

(2)屬性屬性

(3)提示屬性

(4)重複的元數據項目

2.2、提供手冊提示

(1)價值提示

(2)價值提供者

  • 任何

  • 類參考

  • 處理爲

  • 記錄器名稱

  • Spring Bean參考

  • Spring配置文件名稱

2.3、使用註釋處理器生成您自己的元數據

(1)嵌套屬性

(2)添加額外的元數據

3、自動配置類

3.1、從“spring-boot-autoconfigure”模塊

3.2、從“spring-boot-actuator-autoconfigure”模塊

4、測試自動配置註釋

5、可執行的Jar格式

5.1、嵌套JAR

(1)可執行jar文件結構

(2)可執行的戰爭文件結構

5.2、Spring Boot的“JarFile”類

(1)與標準Java“JarFile”兼容

5.3、啓動可執行的罐子

(1)啓動器清單

(2)爆炸檔案

5.4、 PropertiesLauncher 特徵

5.5、可執行的jar限制

5.6、替代性單罐解決方案

6、依賴版本

最後

這份Spring Boot教程總共257頁pdf文檔~

關注公衆號:程序員追風,回覆 001 即可領取這份文檔。

希望能幫助到大家面試前的複習,也節省大家在網上搜索資料的時間來學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章