Java EE 的輕量級開發利劍:Spring Boot 實戰
內容描述
本書以Java EE的實踐為主題,系統闡述Spring Boot、Spring MVC、Spring Cloud等企業級領域內的熱門技術。本書講解相關技術框架的核心知識,並結合汽車管理系統等實戰項目,把Java EE領域內流行的SSH、SSM、Spring Boot、Spring Cloud、MyBatis和JPA等框架整合起來,再從代碼層面講述Activiti、Kafka、Redis、Docker、Maven、WebService和POI等技術。通過本書深入淺出的講解,讀者在學習Java架構師常備專業技能的同時,還可以學習項目開發的整個過程,真正意義上做到Spring Boot從入門到精通。
本書適合Java EE領域的開發人員閱讀。閱讀本書,讀者可以學習目前流行的Java開發技術,力爭在短時間內掌握Spring Boot核心技術,成為Java架構師,走向自己職業生涯的輝煌。
目錄大綱
第 1章 Spring Boot概述 1
1.1 Spring家族介紹 1
1.2 Spring Boot與MVC模式 3
1.2.1 Spring Boot的優勢 3
1.2.2 MVC模式介紹 4
1.3 Spring基礎環境搭建 8
1.3.1 Java介紹 8
1.3.2 JDK環境配置 12
1.3.3 Maven環境配置 14
1.3.4 構建Spring Boot項目 15
1.4 EJB編程快速入門 18
1.4.1 Hello EJB程序 19
1.4.2 helloSpring程序 23
1.5 安裝Tomcat服務器 28
1.5.1 MyEclipse項目發布 30
1.5.2 Eclipse Neon項目發布 31
1.5.3 多個Tomcat的部署方法 34
1.6 小結 35
第 2章 Spring Boot必備基礎知識 36
2.1 依賴註入 36
2.1.1 設值註入方式 37
2.1.2 構造函數註入方式 38
2.1.3 註解註入方式 39
2.2 面向切麵編程 42
2.3 註解 49
2.3.1 重寫與重載 49
2.3.2 其他註解 50
2.4 Servlet與CGI編程 52
2.4.1 CGI基本概念 53
2.4.2 CGI流程 53
2.4.3 CGI編程實例 53
2.5 Servlet服務器端編程 55
2.5.1 Servlet基本概念 55
2.5.2 Servlet編程實例 56
2.5.3 Servlet編程知識點 58
2.6 Java數據類型 59
2.6.1 基本類型 59
2.6.2 引用類型 65
2.6.3 開箱即用 66
2.7 Java類與接口 67
2.7.1 類與對象 67
2.7.2 抽象類與接口 70
2.8 數組與集合 72
2.8.1 數組 72
2.8.2 集合 77
2.8.3 Map 85
2.8.4 Iterator 87
2.9 多線程編程 89
2.9.1 多線程概念 89
2.9.2 多線程創建 90
2.9.3 多線程調度 91
2.9.4 多線程同步 92
2.9.5 線程池應用 94
2.10 工作流 96
2.10.1 工作流搭建 97
2.10.2 工作流開發 99
2.11 探析JVM的秘密 103
2.11.1 JVM簡介 104
2.11.2 JVM的構成 104
2.11.3 JVM加載類 105
2.11.4 內存回收 105
2.12 小結 107
第3章 Struts Spring Hibernate(SSH)
108
3.1 SSH框架概述 108
3.1.1 SSH框架特點 108
3.1.2 SSH框架搭建 109
3.2 框架核心 111
3.2.1 Struts 2執行過程 112
3.2.2 FilterDispatcher 113
3.2.3 HttpServletRequest 115
3.2.4 HttpServletResponse 116
3.2.5 XWork攔截器 117
3.3 框架集成 119
3.3.1 Struts 2集成 120
3.3.2 Spring 3集成 122
3.3.3 Hibernate集成 125
3.3.4 前端插件引入 127
3.3.5 事務配置 127
3.4 權限管理 129
3.4.1 業務設計 130
3.4.2 程序設計 131
3.4.3 數據庫設計 141
3.5 架構設計 143
3.5.1 邏輯層 144
3.5.2 業務層 148
3.5.3 持久層 149
3.5.4 架構優化 152
3.5.5 架構拓展 153
3.5.6 Hibernate查詢 163
3.5.7 配置文件 167
3.6 數據導出 181
3.6.1 POI 182
3.6.2 CSV 190
3.6.3 導出功能XML文件配置 197
3.7 加入緩存機制 198
3.7.1 Ehcache搭建 198
3.7.2 Ehcache使用 201
3.8 解決並發問題 202
3.8.1 連接池 203
3.8.2 Nginx 203
3.9 小結 207
第4章 Spring MVC 209
4.1 Spring MVC概述 209
4.1.1 Spring MVC框架特點 209
4.1.2 Spring MVC框架搭建 210
4.2 框架核心 211
4.2.1 Spring MVC執行過程 212
4.2.2 DispatcherServlet 213
4.2.3 HandlerMapping 214
4.2.4 HandlerAdapter 214
4.2.5 ViewResolver 215
4.3 數據綁定與標簽 216
4.3.1 數據綁定概述 216
4.3.2 input標簽 216
4.3.3 password標簽 217
4.3.4 hidden標簽 217
4.3.5 textarea標簽 218
4.3.6 select標簽 218
4.3.7 checkboxes標簽 219
4.4 框架集成 220
4.4.1 Spring MVC集成 220
4.4.2 MyBatis集成 221
4.4.3 事務配置 221
4.5 架構設計 224
4.5.1 邏輯層 224
4.5.2 業務層 227
4.5.3 持久層 228
4.5.4 配置文件 230
4.6 小結 240
第5章 Spring Boot核心技術 241
5.1 Spring Boot概述 241
5.1.1 Spring Boot框架特點 241
5.1.2 Spring Boot框架搭建 241
5.2 框架核心 243
5.2.1 Spring Boot執行過程 243
5.2.2 SpringApplicationRunListener
244
5.2.3 ApplicationContextInitializer
245
5.3 框架集成 246
5.3.1 Spring Boot項目構建 246
5.3.2 Application配置文件 249
5.4 Spring Boot整合JPA 252
5.4.1 Spring Data JPA介紹 252
5.4.2 JPA事務與DDL操作 253
5.4.3 汽車品牌管理需求 255
5.5 視圖技術 268
5.5.1 FreeMarker 268
5.5.2 Thymeleaf 272
5.6 小結 274
第6章 數據庫 275
6.1 MySQL 275
6.1.1 命令 275
6.1.2 profiling 279
6.1.3 SQLyog 282
6.1.4 函數 285
6.1.5 游標 286
6.1.6 存儲過程 287
6.2 Oracle 288
6.2.1 命令 288
6.2.2 PLSQL 292
6.3 NoSQL 294
6.4 數據庫的事務 298
6.4.1 事務的特性 298
6.4.2 隔離級別 298
6.4.3 傳播行為 299
6.5 Redis快速入門 300
6.5.1 基礎操作 300
6.5.2 備份與恢復 302
6.6 數據庫加鎖 303
6.6.1 表級鎖定 303
6.6.2 行級鎖定 304
6.7 數據庫鎖與事務 305
6.7.1 悲觀鎖 305
6.7.2 樂觀鎖 305
6.7.3 分佈式事務 305
6.8 小結 307
第7章 Apache Shiro安全框架 308
7.1 快速入門 308
7.1.1 安裝部署 308
7.1.2 安全驗證 310
7.1.3 Subject 314
7.1.4 AuthorizingRealm 316
7.1.5 細粒度權限管理 318
7.2 單點登錄 318
7.2.1 單點登錄介紹 318
7.2.2 單點登錄實現 319
7.3 WebService 321
7.3.1 服務器端實現 321
7.3.2 客戶端實現 323
7.4 小結 325
第8章 Spring Boot程序部署 326
8.1 打包 326
8.1.1 JAR包 326
8.1.2 WAR包 327
8.2 Docker部署 328
8.2.1 Docker基礎 328
8.2.2 Docker指令 328
8.3 Jenkins自動化部署 330
8.3.1 部署介紹 330
8.3.2 搭配使用 331
8.4 Swagger UI與阿裡雲部署 333
8.4.1 Swagger UI開發實例 333
8.4.2 阿裡雲項目部署 338
8.5 小結 340
第9章 Spring Cloud微服務 341
9.1 微服務架構 341
9.1.1 單機 341
9.1.2 集群 342
9.1.3 微服務 342
9.2 微服務實戰 348
9.2.1 Eureka 348
9.2.2 RestTemplate 353
9.2.3 Ribbon 358
9.2.4 Hystrix 360
9.2.5 Zuul 364
9.3 小結 367
第 10章 項目實戰:汽車管理系統 368
10.1 系統概述 368
10.1.1 功能介紹 368
10.1.2 需求分析 369
10.2 數據庫設計 370
10.2.1 業務分析 370
10.2.2 表單設計 370
10.3 後台開發 374
10.3.1 短消息 374
10.3.2 授權操作 382
10.4 小結 384
作者介紹
王波,软件架构师。曾任职于华为公司,擅长用Java进行互联网应用的开发和实践,拥有10年以上企业开发经验,对Spring Boot、Spring Cloud微服务等热门技术有深入的研究,热衷于编程技术的开源,著有书籍《Java架构师指南》,长期在博客撰写技术专栏。