[201710][Spring Boot 2 精髓 - 從構建小系統到架構分佈式大系統][李家智][著]

[201710][Spring Boot 2 精髓 - 從構建小系統到架構分佈式大系統][李家智][著]


第 1 章 Java EE 簡介

1.1 Java EE

1.1.1 Java EE 架構

1.1.2 Java EE 的缺點

1.2 Spring

1.2.1 Spring IoC 容器和 AOP

1.2.2 Spring 的缺點

1.3 Spring Boot

1.4 Hello,Spring Boot

1.4.1 創建一個 Maven 工程

1.4.2 增加 Web 支持

1.4.3 Hello Spring Boot 示例

1.4.4 使用熱部署

1.4.5 添加 REST 支持

第 2 章 Spring Boot 基礎

2.1 檢查 Java 環境與安裝 Java

2.2 安裝和配置 Maven

2.2.1 Maven 介紹

2.2.2 安裝 Maven

2.2.3 設置 Maven

2.2.4 使用 IDE 設置 Maven

2.2.5 Maven 的常用命令

2.3 Spring 核心技術

2.3.1 Spring 的歷史

2.3.2 Spring 容器介紹

2.3.2.1 Spring IoC

2.3.2.2 Spring 常用註解

2.3.3 Spring AOP 介紹

2.3.3.1 AOP 介紹

2.3.3.2 在 Spring Boot 中使用 AOP

第 3 章 MVC 框架

3.1 集成 MVC 框架

3.1.1 引入依賴

3.1.2 Web 應用目錄結構

3.1.3 Java 包名結構

3.2 使用 Controller

3.3 URL 映射到方法

3.3.1 @RequestMapping

3.3.2 URL 路徑匹配

3.3.3 HTTP method 匹配

3.3.4 consumes 和 produces

3.3.5 params 和 header 匹配

3.4 方法參數

3.4.1 PathVariable

3.4.2 Model&ModelAndView

3.4.3 JavaBean 接受 HTTP 參數

3.4.4 @RequestBody 接受 JSON

3.4.5 MultipartFile

3.4.6 @ModelAttribute

3.4.7 @InitBinder

3.5 驗證框架

3.5.1 JSR-303

3.5.2 MVC 中使用 @Validated

3.5.3 自定義校驗

3.6 WebMvcConfigurer

3.6.1 攔截器

3.6.2 跨域訪問

3.6.3 格式化

3.6.4 註冊 Controller

3.7 視圖技術

3.7.1 使用 Freemarker

3.7.2 使用 Beetl

3.7.3 使用 Jackson

3.7.4 Redirect 和 Forward

3.8 通用錯誤處理

3.9 @Service 和 @Transactional

3.9.1 聲明一個 Service 類

3.9.2 事務管理

3.10 curl 命令

第 4 章 視圖技術

4.1 Beetl 模板引擎

4.1.1 安裝 Beetl

4.1.2 設置定界符號和佔位符

4.1.3 配置 Beetl

4.1.4 groupTemplate

4.2 使用變量

4.2.1 全局變量

4.2.2 局部變量

4.2.3 共享變量

4.2.4 模板變量

4.3 表達式

4.3.1 計算表達式

4.3.2 邏輯表達式

4.4 控制語句

4.4.1 循環語句

4.4.2 條件語句

4.4.3 try catch

4.5 函數調用

4.6 格式化函數

4.7 直接調用 Java

4.8 標籤函數

4.9 HTML 標籤

4.10 安全輸出

4.11 高級功能

4.11.1 配置 Beetl

4.11.2 自定義函數

4.11.3 自定義格式化函數

4.11.4 自定義標籤函數

4.11.5 自定義 HTML 標籤

4.11.6 佈局

4.11.7 AJAX 局部渲染

4.12 腳本引擎

4.13 JSON 技術

4.13.1 在 Spring Boot 中使用 Jackson

4.13.2 自定義 ObjectMapper

4.13.3 Jackson 的三種使用方式

4.13.4 Jackson 樹遍歷

4.13.5 對象綁定

4.13.6 流式操作

4.13.7 Jackson 註解

4.13.8 集合的反序列化

4.14 MVC 分離開發

4.14.1 集成 WebSimulate

4.14.2 模擬 JSON 響應

4.14.3 模擬模板渲染

第 5 章 數據庫訪問

5.1 配置數據源

5.2 Spring JDBC Template

5.2.1 查詢

5.2.2 修改

5.2.3 JdbcTemplate 增強

5.3 BeetlSQL 介紹

5.3.1 BeetlSQL 功能概覽

5.3.2 添加 Maven 依賴

5.3.3 配置 BeetlSQL

5.3.4 SQLManager

5.3.5 使用 SQL 文件

5.3.6 Mapper

5.3.7 使用實體

5.4 SQLManager 內置 CRUD

5.4.1 內置的插入 API

5.4.2 內置的更新(刪除)API

5.4.3 內置的查詢 API

5.4.4 代碼生成方法

5.5 使用 sqlId

5.5.1 md 文件命名

5.5.2 md 文件構成

5.5.3 調用 sqlId

5.5.4 翻頁查詢

5.5.5 TailBean

5.5.6 ORM 查詢

5.5.7 其他 API

5.5.8 Mapper 詳解

5.6 BeetlSQL 的其他功能

5.6.1 常用函數和標籤

5.6.2 主鍵設置

5.6.3 BeetlSQL 註解

5.6.4 NameConversion

5.6.5 鎖

第 6 章 Spring Data JPA

6.1 集成 Spring Data JPA

6.1.1 集成數據源

6.1.2 配置 JPA 支持

6.1.3 創建 Entity

6.1.4 簡化 Entity

6.2 Repository

6.2.1 CrudRepository

6.2.2 PagingAndSortingRepository

6.2.3 JpaRepository

6.2.4 持久化 Entity

6.2.5 Sort

6.2.6 Pageable 和 Page

6.2.7 基於方法名字查詢

6.2.8 @Query 查詢

6.2.9 使用 JPA Query

6.2.10 Example 查詢

第 7 章 Spring Boot 配置

7.1 配置 Spring Boot

7.1.1 服務器配置

7.1.2 使用其他 Web 服務器

7.1.3 配置啓動信息

7.1.4 配置瀏覽器顯示 ico

7.2 日誌配置

7.3 讀取應用配置

7.3.1 Environment

7.3.2 @Value

7.3.3 @ConfigurationProperties

7.4 Spring Boot 自動裝配

7.4.1 @Configuration 和 @Bean

7.4.2 Bean 條件裝配

7.4.3 Class 條件裝配

7.4.4 Environment 裝配

7.4.5 其他條件裝配

7.4.6 聯合多個條件

7.4.7 Condition 接口

7.4.8 製作 Starter

第 8 章 部署 Spring Boot 應用

8.1 以 jar 文件運行

8.2 以 war 方式部署

8.3 多環境部署

8.4 @Profile 註解

第 9 章 Testing 單元測試

9.1 JUnit 介紹

9.1.1 JUnit 的相關概念

9.1.2 JUnit 測試

9.1.3 Assert

9.1.4 Suite

9.2 Spring Boot 單元測試

9.2.1 測試範圍依賴

9.2.2 Spring Boot 測試腳手架

9.2.3 測試 Service

9.2.4 測試 MVC

9.2.5 完成 MVC 請求模擬

9.2.6 比較 MVC 的返回結果

9.2.7 JSON 比較

9.3 Mockito

9.3.1 模擬對象

9.3.2 模擬方法參數

9.3.3 模擬方法返回值

9.4 面向數據庫應用的單元測試

9.4.1 @Sql

9.4.2 XLSUnit

9.4.3 XLSUnit 的基本用法

9.4.3.1 編寫目錄表

9.4.3.2 編寫輸入表

9.4.3.3 編寫場景測試工作表

9.4.3.4 XLSUnit API

第 10 章 REST

10.1 REST 簡介

10.1.1 REST 風格的架構

10.1.2 使用“api”作爲上下文

10.1.3 增加一個版本標識

10.1.4 標識資源

10.1.5 確定 HTTP Method

10.1.6 確定 HTTP Status

10.1.7 REST VS. WebService

10.2 Spring Boot 集成 REST

10.2.1 集成 REST

10.2.2 @RestController

10.2.3 REST Client

10.2.3.1 RestTemplate

10.2.3.2 定製 RestTemplate

10.3 Swagger UI

10.3.1 集成 Swagger

10.3.2 Swagger 規範

10.3.3 接口描述

10.3.4 查詢參數描述

10.3.5 URI 中的參數

10.3.6 HTTP 頭參數

10.3.7 表單參數

10.3.8 文件上傳參數

10.3.9 整個請求體作爲參數

10.4 模擬 REST 服務

第 11 章 MongoDB

11.1 安裝 MongoDB

11.2 使用 shell

11.2.1 指定數據庫

11.2.2 插入文檔

11.2.3 查詢文檔

11.2.4 更新操作

11.2.5 刪除操作

11.3 Spring Boot 集成 MongoDB

11.4 增刪改查

11.4.1 增加 API

11.4.2 根據主鍵查詢 API

11.4.3 查詢 API

11.4.4 修改 API

11.4.5 刪除 API

11.4.6 使用 MongoDatabase

11.4.7 打印日誌

第 12 章 Redis

12.1 安裝 Redis

12.2 使用 redis-cli

12.2.1 安全設置

12.2.2 基本操作

12.2.3 keys

12.2.4 Redis List

12.2.5 Redis Hash

12.2.6 Set

12.2.7 Pub/Sub

12.3 Spring Boot 集成 Redis

12.4 使用 StringRedisTemplate

12.4.1 opsFor

12.4.2 綁定 Key 的操作

12.4.3 RedisConnection

12.4.4 Pub/Sub

12.5 序列化策略

12.5.1 默認序列化策略

12.5.2 自定義序列化策略

第 13 章 Elasticsearch

13.1 Elasticsearch 介紹

13.1.1 安裝 Elasticsearch

13.1.2 Elasticsearch 的基本概念

13.2 使用 REST 訪問 Elasticsearch

13.2.1 添加文檔

13.2.2 根據主鍵查詢

13.2.3 根據主鍵更新

13.2.4 根據主鍵刪除

13.2.5 搜索文檔

13.2.6 聯合多個索引搜索

13.3 使用 RestTemplate 訪問 ES

13.3.1 創建 Book

13.3.2 使用 RestTemplate 獲取搜索結果

13.4 Spring Data Elastic

13.4.1 安裝 Spring Data

13.4.2 編寫 Entity

13.4.3 編寫 Dao

13.4.4 編寫 Controller

第 14 章 Cache

14.1 關於 Cache

14.1.1 Cache 的組件和概念

14.1.2 Cache 的單體應用

14.1.3 使用專有的 Cache 服務器

14.1.4 使用一二級緩存服務器

14.2 Spring Boot Cache

14.3 註釋驅動緩存

14.3.1 @Cacheable

14.3.2 Key 生成器

14.3.3 @CachePut

14.3.4 @CacheEvict

14.3.5 @Caching

14.3.6 @CacheConfig

14.4 使用 Redis Cache

14.4.1 集成 Redis 緩存

14.4.2 禁止緩存

14.4.3 定製緩存

14.5 Redis 緩存原理

14.6 實現 Redis 兩級緩存

14.6.1 實現 TwoLevelCacheManager

14.6.2 創建 RedisAndLocalCache

14.6.3 緩存同步說明

14.6.4 將代碼組合在一起

第 15 章 Spring Session

15.1 水平擴展實現

15.2 Nginx 的安裝和配置

15.2.1 安裝 Nginx

15.2.2 配置 Nginx

15.3 Spring Session

15.3.1 Spring Session 介紹

15.3.2 使用 Redis

15.3.3 Nginx+Redis

第 16 章 Spring Boot 和 ZooKeeper

16.1 ZooKeeper

16.1.1 ZooKeeper 的數據結構

16.1.2 安裝 ZooKeeper

16.1.3 ZooKeeper 的基本命令

16.1.4 領導選取演示

16.1.5 分佈式鎖演示

16.1.6 服務註冊演示

16.2 Spring Boot 集成 ZooKeeper

16.2.1 集成 Curator

16.2.2 Curator API

16.3 實現分佈式鎖

16.4 服務註冊

16.4.1 通過 ServiceDiscovery 註冊服務

16.4.2 獲取服務

16.5 領導選取

第 17 章 監控 Spring Boot 應用

17.1 安裝 Acutator

17.2 HTTP 跟蹤

17.3 日誌查看

17.4 線程棧信息

17.5 內存信息

17.6 查看 URL 映射

17.7 查看 Spring 容器管理的 Bean

17.8 其他監控

17.9 編寫自己的監控信息

17.9.1 編寫 HealthIndicator

17.9.2 自定義監控

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