天天看點

《深入實踐Spring Boot》一導讀

《深入實踐Spring Boot》一導讀

spring boot作為java程式設計語言的一個全新開發架構,在國内外才剛剛興起,還未得到普及使用。相比于以往的一些開發架構,spring boot不但使用更加簡單,而且功能更加豐富,性能更加穩定而健壯。使用spring boot開發架構,不僅能提高開發速度,增強生産效率,從某種意義上,可以說是解放了程式員的勞動,而且一種新技術的使用,更能增強系統的穩定性和擴充系統的性能名額。本書就是本着提高開發效率,增強系統性能,促進新技術的普及使用這一目的而寫的。

spring boot是在spring架構基礎上建立的一個全新架構,其設計目的是簡化spring應用的搭建和開發過程,它不但具有spring的所有優秀特性,而且具有如下顯著的特點:

為spring開發提供更加簡單的使用和快速開發的技巧。

具有開箱即用的預設配置功能,能根據項目依賴自動配置。

具有功能更加強大的服務體系,包括嵌入式服務、安全、性能名額、健康檢查等。

絕對沒有代碼生成,可以不再需要xml配置,即可讓應用更加輕巧和靈活。

spring boot對于一些第三方技術的使用,提供了非常完美的整合,使你在簡單的使用中,不知不覺運用了非常進階和先進的技術。

雖然spring boot具有這麼多優秀的特性,但它使用起來并不複雜,而且非常簡單,是以不管是java程式開發初學者,還是經驗豐富的開發人員,使用spring boot都是一個理想的選擇。

spring boot發展迅速,自從2014年4月釋出了1.0.0版本,至今已經釋出了1.4.0正式版。現在,spring boot正在不同的角落中悄然興起,估計用不了多久,它将成為java開發的又一個熱潮,為衆多java開發者追捧。

本書将以一些非常切合生産實際的應用執行個體,帶你一起使用spring boot架構,開始一段愉快的快速開發和探索之旅。

前 言

<a href="https://yq.aliyun.com/articles/89610">第一部分 基礎應用開發</a>

<a href="https://yq.aliyun.com/articles/89622">第1章 spring boot入門</a>

<a href="https://yq.aliyun.com/articles/89622">1.1 配置開發環境</a>

1.1.1 安裝jdk

1.1.2 安裝interllij idea

1.1.3 安裝apache maven

1.1.4 安裝git用戶端

<a href="https://yq.aliyun.com/articles/89634">1.2 建立項目工程</a>

1.2.1 使用maven建立項目

1.2.2 使用spring initializr建立項目

<a href="https://yq.aliyun.com/articles/89637">1.3 使用spring boot</a>

1.3.1 maven依賴管理

1.3.2 一個簡單的執行個體

<a href="https://yq.aliyun.com/articles/89646">1.4 運作與釋出</a>

1.4.1 在idea環境中運作

1.4.2 将應用打包釋出

<a href="https://yq.aliyun.com/articles/89648">1.5 關于spring boot配置</a>

<a href="https://yq.aliyun.com/articles/89650">1.6 小結</a>

<a href="https://yq.aliyun.com/articles/89679">第2章 在spring boot中使用資料庫</a>

<a href="https://yq.aliyun.com/articles/89679">2.1 使用mysql</a>

2.1.1 mysql依賴配置

2.1.2 實體模組化

2.1.3 實體持久化

2.1.4 mysql測試

<a href="https://yq.aliyun.com/articles/89687">2.2 使用redis</a>

2.2.1 redis依賴配置

2.2.2 建立redis服務類

2.2.3 redis測試

<a href="https://yq.aliyun.com/articles/89694">2.3 使用mongodb</a>

2.3.1 mongodb依賴配置

2.3.2 文檔模組化

2.3.3 文檔持久化

2.3.4 mongodb測試

<a href="https://yq.aliyun.com/articles/89699">2.4 使用neo4j</a>

2.4.1 neo4j依賴配置

2.4.2 節點和關系實體模組化

2.4.3 節點實體持久化

2.4.4 neo4j測試

<a href="https://yq.aliyun.com/articles/89701">2.5 小結</a>

<a href="https://yq.aliyun.com/articles/89706">第3章 spring boot界面設計</a>

<a href="https://yq.aliyun.com/articles/89706">3.1 模型設計</a>

3.1.1 節點實體模組化

3.1.2 關系實體模組化

3.1.3 分頁查詢設計

<a href="https://yq.aliyun.com/articles/89709">3.2 控制器設計</a>

3.2.1 建立控制器

3.2.2 檢視控制器

3.2.3 修改控制器

3.2.4 删除控制器

3.2.5 分頁查詢控制器

<a href="https://yq.aliyun.com/articles/89713">3.3 使用thymeleaf模闆</a>

3.3.1 thymeleaf配置

3.3.2 thymeleaf功能簡介

<a href="https://yq.aliyun.com/articles/89733">3.4 視圖設計</a>

3.4.1 清單視圖設計

3.4.2 建立視圖設計

3.4.3 檢視視圖設計

3.4.4 修改視圖設計

3.4.5 删除視圖設計

<a href="https://yq.aliyun.com/articles/89735">3.5 運作與釋出</a>

<a href="https://yq.aliyun.com/articles/89738">3.6 小結</a>

第4章 提高資料庫通路性能

4.1 使用druid

4.1.1 配置druid依賴

4.1.2 關于xml配置

4.1.3 druid資料源配置

4.1.4 開啟監控功能

4.2 擴充jpa功能

4.2.1 擴充jpa接口

4.2.2 裝配自定義的擴充接口

4.2.3 使用擴充接口

4.3 使用redis做緩存

4.3.1 使用spring cache注解

4.3.2 使用redistemplate

4.4 web應用子產品

4.4.1 引用資料管理子產品

4.4.2 web應用配置

4.5 運作與釋出

4.6 小結

第5章 spring boot安全設計

5.1 依賴配置管理

5.2 安全政策配置

5.2.1 權限管理規則

5.2.2 登入成功處理器

5.2.3 防攻擊政策

5.2.4 記住登入狀态

5.3 登入認證設計

5.3.1 使用者實體模組化

5.3.2 使用者身份驗證

5.3.3 登入界面設計

5.3.4 驗證碼驗證

5.4 權限管理設計

5.4.1 權限管理配置

5.4.2 權限管理過濾器

5.4.3 權限配置資料總管

5.4.4 權限管理決斷器

5.5 根據權限設定連結

5.6 運作與釋出

5.6.1 系統初始化

5.6.2 系統運作與釋出

5.7 小結

第二部分 分布式應用開發

第6章 spring boot sso

6.1 子產品化設計

6.2 登入認證子產品

6.2.1 使用oauth2

6.2.2 建立數字證書

6.2.3 認證服務端配置

6.3 安全配置子產品

6.4 sso用戶端

6.4.1 用戶端配置

6.4.2 登入登出設計

6.5 共享資源服務

6.5.1 提供共享資源接口

6.5.2 使用共享資源

6.5.3 查詢登入使用者的詳細資訊

6.6 運作與釋出

6.7 小結

第7章 使用分布式檔案系統

7.1 fastdfs安裝

7.1.1 下載下傳安裝包

7.1.2 安裝服務

7.1.3 tracker server配置

7.1.4 storage server配置

7.1.5 啟動服務

7.1.6 用戶端測試

7.2 fastfds用戶端

7.2.1 用戶端配置

7.2.2 用戶端服務類

7.3 使用定制方式上傳圖檔

7.3.1 實體模組化

7.3.2 上傳圖檔

7.4 使用富文本編輯器上傳圖檔

7.4.1 使用富文本編輯器

7.4.2 實作檔案上傳

7.5 使用本地檔案庫

7.5.1 本地檔案庫模組化

7.5.2 檔案儲存方法

7.5.3 檔案庫管理

7.6 運作與釋出

7.7 小結

第8章 雲應用開發

8.1 使用配置管理

8.1.1 建立配置管理伺服器

8.1.2 使用配置管理的用戶端

8.1.3 實作線上更新

8.1.4 更新所有用戶端的配置

8.2 使用發現服務

8.2.1 建立發現伺服器

8.2.2 使用發現服務的用戶端配置

8.2.3 發現伺服器測試

8.3 使用動态路由和斷路器

8.3.1 依賴配置

8.3.2 共享rest資源

8.3.3 通過路由通路rest資源

8.3.4 使用斷路器功能

8.3.5 路由器和斷路器測試

8.4 使用監控服務

8.4.1 建立監控伺服器

8.4.2 監控伺服器測試

8.5 運作與釋出

8.6 小結

第9章 建構高性能的服務平台

9.1 使用docker

9.1.1 docker安裝

9.1.2 docker常用指令

9.1.3 使用docker釋出服務

9.2 建立和管理一個高性能的服務體系

9.2.1 安裝docker-compose

9.2.2 docker-compose常用指令

9.2.3 使用docker-compose管理服務

9.3 使用docker的其他負載均衡實施方法

9.3.1 使用nginx與docker建構負載均衡服務

9.3.2 阿裡雲的負載均衡設計執行個體

9.4 小結

第三部分 核心技術源代碼分析

第10章 spring boot自動配置實作原理

10.1 spring boot主程式的功能

10.1.1 springapplication的run方法

10.1.2 建立應用上下文

10.1.3 自動加載

10.2 spring boot自動配置原理

10.2.1 自動配置的即插即用原理

10.2.2 自動配置的約定優先原理

10.3 提升應用的性能

10.3.1 更改加載配置的方式

10.3.2 将tomcat換成jetty

10.4 性能對照測試

10.5 小結

第11章 spring boot資料通路實作原理

11.1 連接配接資料源的源代碼分析

11.1.1 資料源類型和驅動

11.1.2 支援的資料庫種類

11.1.3 與資料庫伺服器建立連接配接

11.2 資料存取功能實作原理

11.2.1 實體模組化源代碼分析

11.2.2 持久化實作原理

11.3 擴充資料存取的功能

11.3.1 擴充jpa功能

11.3.2 擴充neo4j功能

11.4 小結

第12章 微服務核心技術實作原理

12.1 配置管理實作原理

12.1.1 線上更新流程

12.1.2 更新消息的分發原理

12.2 發現服務源代碼剖析

12.2.1 服務端的服務注冊功能

12.2.2 用戶端注冊和提取服務清單

12.3 負載均衡源代碼剖析

12.4 分布式消息實作原理示範

12.4.1 消息生産者

12.4.2 消息消費者

12.5 小結

附錄a 安裝neo4j

附錄b 安裝mongodb

附錄c 安裝redis

附錄d 安裝rabbitmq

結束語