瘋狂Spring Boot講義

瘋狂Spring Boot講義

《瘋狂Spring Boot講義》是2021年電子工業出版社出版的圖書,作者是李剛|。

基本介紹

  • 書名:瘋狂Spring Boot講義
  • 作者:編者:李剛|責編:張月萍
  • 類別:圖書
  • 出版社:電子工業出版社
  • 出版時間:2021年
  • 頁數:712 頁
  • 定價:168 元 
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787121413711
內容簡介,圖書目錄,作者簡介,

內容簡介

《瘋狂Spring Boot終極講義》不是一本介紹類似於@PathVariable、@MatrixVariable、@RequestBody、@ResponseBody這些基礎註解的圖書,它是真正講解Spring Boot的圖書。Spring Boot的核心是什麼?它的核心就是自動配置,以及以自動配置為基礎與大量第三方後端技術進行整合。因此學習Spring Boot應該重點關注的就是它為整合各種框架所提供的自動配置,包括Spring Boot如何整合各種前端框架,如Spring MVC、Spring WebFlux;Spring Boot如何整合各種持久層技術,如Spring Data、MyBatis、Hibernate/JPA、R2DBC、jOOQ等;Spring Boot如何整合NoSQL技術,如Redis、MongoDB、Neo4j、Cassandra、Solr、Elasticsearch等;Spring Boot如何整合各種訊息組件,如ActiveMQ、Artemis、RabbitMQ、Kafka等;Spring Boot如何整合各種快取機制,如JCache、EhCache、Redis、Hazelcast等;Spring Boot如何整合各種安全框架,如Spring Security、Shiro等,這些都只是Spring Boot整合的典型內容。本書的作用就是帶你徹底掌握Spring Boot官方手冊中所整合的各種技術,而且本書會講清楚Spring Boot和Spring框架的關係,帶著你揭開Spring Boot的核心:自動配置的面紗,領著你剖析Spring Boot自動配置的原始碼實現,然後以此為基礎,詳細講解Spring Boot如何整合各種Java後端技術。在掌握了本書知識之後,你不僅能輕鬆看懂Spring Boot官方手冊(其實無須再看了),而且真正掌握了Spring Boot的大成,並通過Spring Boot的整合觸類旁通地掌握各種Java後端技術。本書提供了讀者答疑交流群,讀者可通過掃描本書封面上的二維碼,按照指引加入讀者答疑交流群。

圖書目錄

第1章 序幕:Spring Boot入門 1
1.1 Spring Boot簡介 2
1.1.1 Java EE套用與Spring 2
1.1.2 為什麼要用Spring Boot 3
1.2 個Spring Boot套用 3
1.2.1 準備開發環境 3
1.2.2 創建Spring Boot項目 5
1.2.3 編寫控制器 9
1.2.4 運行套用 12
1.2.5 創建可執行的JAR包 18
1.2.6 開發業務組件 20
1.2.7 開發DAO組件 24
1.3 編寫單元測試 27
1.3.1 測試RESTful接口 27
1.3.2 模擬Web環境測試控制器 28
1.3.3 測試業務組件 30
1.3.4 使用模擬組件 31
1.4 使用其他構建工具 32
1.4.1 使用Gradle構建工具 32
1.4.2 使用Ant開發Spring Boot套用 35
1.5 本章小結 38
第2章 套用配置與自動配置 39
2.1 SpringApplication與Spring容器 40
2.1.1 類配置與XML配置 40
2.1.2 啟動日誌和失敗分析器 43
2.1.3 延遲初始化 44
2.1.4 自定義Banner 45
2.1.5 設定SpringApplication與流式API 47
2.1.6 事件監聽器與容器初始化器 48
2.1.7 配置環境後處理器 50
2.1.8 ApplicationRunner和CommandLineRunner 53
2.1.9 創建非Web套用 55
2.1.10 通過ApplicationArguments訪問套用參數 56
2.2 外部配置源 57
2.2.1 配置源的載入順序與優先權 57
2.2.2 利用JSON參數配置 59
2.2.3 使用YAML配置檔案 60
2.2.4 改變配置檔案的位置 64
2.2.5 導入額外的配置檔案 67
2.2.6 使用占位符 68
2.2.7 讀取構建檔案的屬性 69
2.2.8 配置隨機值 70
2.3 類型安全的綁定 71
2.3.1 使用屬性處理類獲取配置屬性 72
2.3.2 為容器中的Bean注入配置屬性 75
2.3.3 屬性轉換 78
2.3.4 校驗@ConfigurationProperties 79
2.4 Profile 81
2.4.1 配置和切換Profile 81
2.4.2 添加活動Profile 84
2.4.3 Profile組 85
2.4.4 混合複合類型 86
2.4.5 根據環境自動更新Profile 89
2.5 日誌配置 90
2.5.1 理解Spring Boot的日誌設計 91
2.5.2 日誌級別與格式 92
2.5.3 輸出日誌到檔案 97
2.5.4 日誌組 100
2.5.5 關閉控制台日誌 100
2.5.6 改用Log4j2日誌實現 103
2.5.7 Logback擴展 104
2.6 自動配置概述 106
2.6.1 自動配置的替換原則 106
2.6.2 禁用特定的自動配置 107
2.7 創建自己的自動配置 107
2.7.1 自動配置的本質 108
2.7.2 條件註解 113
2.7.3 自定義條件註解 119
2.7.4 自定義自動配置 121
2.7.5 創建自定義的Starter 126
2.8 熱插拔與開發者工具 128
2.8.1 靜態模板的重載入 128
2.8.2 添加開發者工具 129
2.8.3 自動重啟功能 131
2.8.4 實時重載入 134
2.8.5 全局配置 135
2.9 本章小結 136
第3章 Spring Boot的Web套用支持 137
3.1 Web套用配置 138
3.1.1 設定HTTP連線埠 138
3.1.2 使用隨機的HTTP連線埠 138
3.1.3 運行時獲取HTTP連線埠 138
3.1.4 啟用HTTP回響壓縮 141
3.1.5 Web伺服器的編程式配置 141
3.2 為套用添加Servlet、Filter、Listener 144
3.2.1 使用Spring Bean添加Servlet、Filter或Listener 144
3.2.2 使用XxxRegistrationBean註冊Servlet、Filter或Listener 147
3.2.3 使用ClassPath掃描添加Servlet、Filter或Listener 148
3.2.4 JSP限制 150
3.3 配置內嵌Web伺服器 150
3.3.1 切換到其他Web伺服器 150
3.3.2 配置SSL 152
3.3.3 配置HTTP/2 154
3.3.4 配置訪客日誌 156
3.4 管理Spring MVC 157
3.4.1 Spring MVC的自動配置 157
3.4.2 靜態資源管理 158
3.4.3 自定義首頁和圖示 164
3.4.4 使用Thymeleaf模板引擎 165
3.4.5 Thymeleaf的基本語法 168
3.4.6 Spring Boot整合Thymeleaf 170
3.4.7 Spring Boot整合FreeMarker 174
3.4.8 Spring Boot整合JSP 178
3.4.9 路徑匹配和內容協商 183
3.4.10 錯誤處理 184
3.4.11 檔案上傳和輸入校驗 188
3.5 國際化支持 193
3.5.1 套用國際化 194
3.5.2 在界面上動態改變語言 197
3.6 管理Spring WebFlux框架 199
3.6.1 Spring WebFlux簡介 199
3.6.2 Spring WebFlux的自動配置 201
3.6.3 靜態資源和首頁、圖示 201
3.6.4 使用註解開發Spring WebFlux套用 203
3.6.5 函式式開發WebFlux套用及整合模板引擎 208
3.6.6 錯誤處理 213
3.7 WebSocket支持 215
3.7.1 使用@ServerEndpoint開發WebSocket 215
3.7.2 使用WebFlux開發WebSocket 218
3.8 優雅地關閉套用 222
3.9 本章小結 222
第4章 RESTful服務支持 224
4.1 開發RESTful服務 225
4.1.1 基於JSON的RESTful服務 225
4.1.2 基於XML的RESTful服務 226
4.1.3 Spring Boot內置的JSON支持 229
4.2 RESTful服務的相關配置 232
4.2.1 自定義Jackson的ObjectMapper 232
4.2.2 自定義JSON序列化器和反序列化器 233
4.2.3 使用HttpMessageConverters更換轉換器 237
4.2.4 跨域資源共享 239
4.3 RESTful客戶端 241
4.3.1 使用RestTemplate調用RESTful服務 242
4.3.2 定製RestTemplate 247
4.3.3 使用WebClient調用RESTful服務 249
4.3.4 WebClient底層的相關配置 252
4.4 本章小結 253
第5章 訪問SQL資料庫 254
5.1 整合Spring Data JPA 255
5.1.1 Spring Data的設計和核心API 255
5.1.2 Spring Data JPA基本功能 258
5.1.3 數據源配置詳解 262
5.1.4 方法名關鍵字查詢 267
5.1.5 指定查詢語句和命名查詢 273
5.1.6 自定義查詢 278
5.1.7 Example查詢 281
5.1.8 Specification查詢 285
5.2 直接整合JDBC 288
5.3 整合Spring Data JDBC 294
5.4 整合MyBatis 299
5.4.1 掃描Mapper組件 299
5.4.2 直接使用SqlSession 303
5.4.3 配置MyBatis 305
5.4.4 擴展MyBatis 307
5.5 整合jOOQ 307
5.5.1 生成代碼 307
5.5.2 使用DSLContext運算元據庫 310
5.5.3 jOOQ高級配置 322
5.6 整合R2DBC 322
5.6.1 使用DatabaseClient 323
5.6.2 使用R2DBC的Repository 324
5.7 使用JTA管理分散式事務 329
5.7.1 理解JTA分散式事務 329
5.7.2 使用Atomikos管理MyBatis多數據源套用 331
5.7.3 使用Atomikos管理Spring Data JPA多數據源套用 339
5.7.4 使用Java EE容器提供的事務管理器 345
5.8 初始化資料庫 346
5.8.1 基於Spring Data JPA的自動建表 346
5.8.2 執行SQL腳本初始化資料庫 347
5.8.3 使用R2DBC初始化資料庫 349
5.9 本章小結 350
第6章 操作NoSQL資料庫 352
6.1 整合Redis 353
6.1.1 Redis原始碼編譯、安裝與配置 353
6.1.2 使用Redis 355
6.1.3 連線相關命令 357
6.1.4 key相關命令 358
6.1.5 String相關命令 359
6.1.6 List相關命令 360
6.1.7 Set相關命令 362
6.1.8 ZSet相關命令 363
6.1.9 Hash相關命令 366
6.1.10 事務相關命令 368
6.1.11 發布/訂閱相關命令 369
6.1.12 Lettuce用法簡介 370
6.1.13 使用RedisTemplate操作Redis 380
6.1.14 使用Spring Data Redis 382
6.1.15 連線多個Redis伺服器 390
6.2 整合MongoDB 390
6.2.1 下載和安裝MongoDB 390
6.2.2 MongoDB副本集配置 392
6.2.3 MongoDB安全配置 393
6.2.4 MongoDB用法簡介 397
6.2.5 連線MongoDB與MongoTemplate 407
6.2.6 使用MongoDB的Repository 409
6.2.7 連線多個MongoDB伺服器 418
6.3 整合Neo4j 419
6.3.1 理解圖形資料庫 419
6.3.2 下載和安裝Neo4j 423
6.3.3 配置Neo4j 425
6.3.4 CQL概述 427
6.3.5 使用CREATE創建節點 428
6.3.6 使用MATCH查詢節點、屬性 431
6.3.7 使用CREATE創建關係 437
6.3.8 使用MATCH查詢關係 440
6.3.9 使用DELETE刪除節點或關係 442
6.3.10 使用REMOVE刪除屬性或標籤 444
6.3.11 使用SET添加、更新屬性或添加標籤 445
6.3.12 使用UNION和UNION ALL計算並集 446
6.3.13 操作索引 448
6.3.14 操作約束 450
6.3.15 使用FOREACH、UNWIND處理列表 451
6.3.16 連線Neo4j與Neo4jTemplate 453
6.3.17 使用Neo4j的Repository 455
6.3.18 連線多個Neo4j伺服器 465
6.4 整合Cassandra 466
6.4.1 Cassandra數據模型 466
6.4.2 Cassandra存儲引擎 469
6.4.3 下載和安裝Cassandra 470
6.4.4 配置Cassandra 472
6.4.5 管理keyspace 473
6.4.6 管理表 475
6.4.7 CQL的DML 478
6.4.8 集合類型與用戶定義類型 481
6.4.9 索引操作及索引列查詢 487
6.4.10 連線Cassandra與CassandraTemplate 488
6.4.11 使用Cassandra的Repository 491
6.4.12 連線多個Cassandra伺服器 500
6.5 整合Solr 500
6.5.1 LIKE模糊查詢與全文檢索 500
6.5.2 反向索引庫與Lucene 501
6.5.3 下載和安裝Solr 502
6.5.4 管理Solr的Core 506
6.5.5 使用SolrClient連線Solr 513

作者簡介

李剛,十餘年軟體開發從業經驗,瘋狂Java實訓營創始人,瘋狂Java體系原創圖書作者。CSDN爆款課程講師。培訓的學生已在騰訊、阿里、華為等名企就職。國內知名高端IT技術圖書作家,已出版《瘋狂Java講義》《瘋狂Python講義》《瘋狂Android講義》《輕量級Java Web企業套用實戰》《瘋狂HTML5/CSS3/JavaScript講義》等著作。瘋狂Java體系圖書均已沉澱多年,多部著作印刷數量超過10萬冊,並被多所“985”“211”院校選作教材,部分圖書已被轉換成繁體中文版,授權到寶島台灣。

相關詞條

熱門詞條

聯絡我們