avaEE開發的顛覆者 Spring Boot實戰

avaEE開發的顛覆者 Spring Boot實戰

在當今Java EE 開發中,Spring 框架是當之無愧的王者。而Spring Boot 是Spring 主推的基於“習 慣優於配置”的原則,讓你能夠快速搭建套用的框架,從而使得Java EE 開發變得異常簡單。

基本介紹

內容簡介,圖書目錄,

內容簡介

在當今Java EE 開發中,Spring 框架是當之無愧的王者。而Spring Boot 是Spring 主推的基於“習 慣優於配置”的原則,讓你能夠快速搭建套用的框架,從而使得Java EE 開發變得異常簡單。
本書從Spring 基礎、Spring MVC 基礎講起,從而無難度地引入Spring Boot 的學習。涵蓋使用 Spring Boot 進行Java EE 開發的絕大數套用場景,包含:Web 開發、數據訪問、安全控制、批處理、 異步訊息、系統集成、開發與部署、套用監控、分散式系統開發等。 當你學完本書後,你將能使用Spring Boot 解決Java EE 開發中所遇到的絕大多數問題。

圖書目錄

目 錄
第一部分 點睛Spring 4 x 1
第1章 Spring 基礎 2
1.1 Spring 概述 2
1.1.1 Spring 的簡史 2
1.1.2 Spring 概述 3
1.2 Spring 項目快速搭建 . 5
1.2.1 Maven 簡介 6
1.2.2 Maven 安裝 6
1.2.3 Maven 的pom.xml . 7
1.2.4 Spring 項目的搭建 9
1.3 Spring 基礎配置 . 17
1.3.1 依賴注入 18
1.3.2 Java 配置 21
1.3.3 AOP . 24
第2章 Spring 常用配置 30
2.1 Bean 的Scope . 30
2.1.1 點睛 . 30
2.1.2 示例 . 31
2.2 Spring EL 和資源調用 33
目 錄 ∣ VII
2.2.1 點睛 . 33
2.2.2 示例 . 33
2.3 Bean 的初始化和銷毀 37
2.3.1 點睛 . 37
2.3.2 演示 . 38
2.4 Profile . 40
2.4.1 點睛 . 40
2.4.2 演示 . 41
2.5 事件(Application Event) 44
2.5.1 點睛 . 44
2.5.2 示例 . 44
第3章 Spring 高級話題 48
3.1 Spring Aware 48
3.1.1 點睛 . 48
3.1.2 示例 . 49
3.2 多執行緒 51
3.2.1 點睛 . 51
3.2.2 示例 . 51
3.3 計畫任務 54
3.3.1 點睛 . 54
3.3.2 示例 . 54
3.4 條件註解@Conditional 56
3.4.1 點睛 . 56
3.4.2 示例 . 57
3.5 組合註解與元註解 . 60
3.5.1 點睛 . 60
3.5.2 示例 . 60
3.6 @Enable*註解的工作原理 63
3.6.1 第一類:直接導入配置類 63
3.6.2 第二類:依據條件選擇配置類 64
3.6.3 第三類:動態註冊Bean . 65
VIII ∣ Java EE 開發的顛覆者:Spring Boot 實戰
3.7 測試 66
3.7.1 點睛 . 66
3.7.2 示例 . 67
第二部分 點睛Spring MVC 4 x
第4章 Spring MVC 基礎 72
4.1 Spring MVC 概述 . 73
4.2 Spring MVC 項目快速搭建 . 74
4.2.1 點睛 . 74
4.2.2 示例 . 74
4.3 Spring MVC 的常用註解 . 82
4.3.1 點睛 . 82
4.3.2 示例 . 83
4.4 Spring MVC 基本配置 . 87
4.4.1 靜態資源映射 88
4.4.2 攔截器配置 89
4.4.3 @ControllerAdvice 91
4.4.4 其他配置 94
4.5 Spring MVC 的高級配置 . 98
4.5.1 檔案上傳配置 98
4.5.2 自定義HttpMessageConverter 101
4.5.3 伺服器端推送技術 106
4.6 Spring MVC 的測試 . 113
4.6.1 點睛 . 113
4.6.2 示例 . 114
第三部分 實戰Spring Boot
第5章 Spring Boot 基礎 . 122
5.1 Spring Boot 概述 . 122
5.1.1 什麼是Spring Boot 122
目 錄 ∣ IX
5.1.2 Spring Boot 核心功能 122
5.1.3 Spring Boot 的優缺點 124
5.1.4 關於本書的Spring Boot 版本 . 124
5.2 Spring Boot 快速搭建 . 124
5.2.1 http://start.spring.io . 124
5.2.2 Spring Tool Suite 127
5.2.3 IntelliJ IDEA 129
5.2.4 Spring Boot CLI . 132
5.2.5 Maven 手工構建 134
5.2.6 簡單演示 136
第6章 Spring Boot 核心 . 138
6.1 基本配置 138
6.1.1 入口類和@SpringBootApplication . 138
6.1.2 關閉特定的自動配置 139
6.1.3 定製Banner . 139
6.1.4 Spring Boot 的配置檔案 140
6.1.5 starter pom 141
6.1.6 使用xml 配置 143
6.2 外部配置 143
6.2.1 命令行參數配置 143
6.2.2 常規屬性配置 144
6.2.3 類型安全的配置(基於properties) . 145
6.3 日誌配置 148
6.4 Profile 配置 148
實戰 . 148
6.5 Spring Boot 運行原理 . 150
6.5.1 運作原理 153
6.5.2 核心註解 154
6.5.3 實例分析 157
6.5.4 實戰 . 160
X ∣ Java EE 開發的顛覆者:Spring Boot 實戰
第7章 Spring Boot 的Web 開發 170
7.1 Spring Boot 的Web 開發支持 . 170
7.2 Thymeleaf 模板引擎 . 171
7.2.1 Thymeleaf 基礎知識 171
7.2.2 與Spring MVC 集成 . 174
7.2.3 Spring Boot 的Thymeleaf 支持 . 175
7.2.4 實戰 . 177
7.3 Web 相關配置 . 182
7.3.1 Spring Boot 提供的自動配置 182
7.3.2 接管Spring Boot 的Web 配置 185
7.3.3 註冊Servlet、Filter、Listener 186
7.4 Tomcat 配置 187
7.4.1 配置Tomcat . 187
7.4.2 代碼配置Tomcat . 188
7.4.3 替換Tomcat . 190
7.4.4 SSL 配置 191
7.5 Favicon 配置 . 196
7.5.1 默認的Favicon 196
7.5.2 關閉Favicon 196
7.5.3 設定自己的Favicon 197
7.6 WebSocket 197
7.6.1 什麼是WebSocket . 197
7.6.2 Spring Boot 提供的自動配置 197
7.6.3 實戰 . 198
7.7 基於Bootstrap 和AngularJS 的現代Web 套用 212
7.7.1 Bootstrap 213
7.7.2 AngularJS . 216
7.7.3 實戰 . 222
第8章 Spring Boot 的數據訪問 233
8.1 引入Docker 237
8.1.1 Docker 的安裝 . 238
目 錄 ∣ XI
8.1.2 Docker 常用命令及參數 . 242
8.1.3 下載本書所需的Docker 鏡像 247
8.1.4 異常處理 247
8.2 Spring Data JPA 248
8.2.1 點睛Spring Data JPA . 248
8.2.2 Spring Boot 的支持 258
8.2.3 實戰 . 260
8.3 Spring Data REST . 284
8.3.1 點睛Spring Data REST . 284
8.3.2 Spring Boot 的支持 285
8.3.3 實戰 . 286
8.4 聲名式事務 297
8.4.1 Spring 的事務機制 297
8.4.2 聲名式事務 298
8.4.3 註解事務行為 299
8.4.4 類級別使用@Transactional . 300
8.4.5 Spring Data JPA 的事務支持 . 300
8.4.6 Spring Boot 的事務支持 302
8.4.7 實戰 . 303
8.5 數據快取Cache 309
8.5.1 Spring 快取支持 309
8.5.2 Spring Boot 的支持 310
8.5.3 實戰 . 312
8.5.4 切換快取技術 319
8.6 非關係型資料庫NoSQL 320
8.6.1 MongoDB . 320
8.6.2 Redis 329
第9章 Spring Boot 企業級開發 340
9.1 安全控制Spring Security . 340
9.1.1 Spring Security 快速入門 340
9.1.2 Spring Boot 的支持 347
XII ∣ Java EE 開發的顛覆者:Spring Boot 實戰
9.1.3 實戰 . 348
9.2 批處理Spring Batch . 362
9.2.1 Spring Batch 快速入門 362
9.2.2 Spring Boot 的支持 370
9.2.3 實戰 . 371
9.3 異步訊息 385
9.3.1 企業級訊息代理 386
9.3.2 Spring 的支持 386
9.3.3 Spring Boot 的支持 386
9.3.4 JMS 實戰 387
9.3.5 AMQP 實戰 . 391
9.4 系統集成Spring Integration . 395
9.4.1 Spring Integration 快速入門 395
9.4.2 Message 395
9.4.3 Channel . 395
9.4.4 Message EndPoint 398
9.4.5 Spring Integration Java DSL 400
9.4.6 實戰 . 400
第10章 Spring Boot 開發部署與測試 . 407
10.1 開發的熱部署 . 407
10.1.1 模板熱部署 407
10.1.2 Spring Loaded 407
10.1.3 JRebel . 409
10.1.4 spring-boot-devtools . 413
10.2 常規部署 413
10.2.1 jar 形式 . 413
10.2.2 war 形式 . 417
10.3 雲部署——基於Docker 的部署 . 419
10.3.1 Dockerfile . 419
10.3.2 安裝Docker . 421
10.3.3 項目目錄及檔案 421
目 錄 ∣ XIII
10.3.4 編譯鏡像 423
10.3.5 運行 424
10.4 Spring Boot 的測試 . 424
10.4.1 新建Spring Boot 項目 . 425
10.4.2 業務代碼 425
10.4.3 測試用例 427
10.4.4 執行測試 429
第11章 套用監控 . 431
11.1 http 431
11.1.1 新建Spring Boot 項目 . 432
11.1.2 測試端點 432
11.1.3 定製端點 439
11.1.4 自定義端點 440
11.1.5 自定義HealthIndicator 444
11.2 JMX 447
11.3 SSH . 449
11.3.1 新建Spring Boot 項目 . 449
11.3.2 運行 449
11.3.3 常用命令 451
11.3.4 定製登錄用戶 452
11.3.5 擴展命令 452
第12章 分散式系統開發 456
12.1 微服務、原生雲套用 . 456
12.2 Spring Cloud 快速入門 . 457
12.2.1 配置服務 457
12.2.2 服務發現 457
12.2.3 路由網關 457
12.2.4 負載均衡 457
12.2.5 斷路器 458
XIV ∣ Java EE 開發的顛覆者:Spring Boot 實戰
12.3 實戰 458
12.3.1 項目構建 458
12.3.2 服務發現——Discovery(Eureka Server) . 459
12.3.3 配置——Config(Config Server) . 461
12.3.4 服務模組——Person 服務 463
12.3.5 服務模組——Some 服務 466
12.3.6 界面模組——UI(Ribbon,Feign) 468
12.3.7 斷路器監控——Monitor(DashBoard) . 473
12.3.8 運行 474
12.4 基於Docker部署 . 478
12.4.1 Dockerfile 編寫 478
12.4.2 Docker Compose 480
12.4.3 Docker-compose.yml 編寫 . 481
12.4.4 運行 483
附錄A 485
A.1 基於JHipster 的代碼生成 . 485
A.2 常用套用屬性配置列表 488

相關詞條

熱門詞條

聯絡我們