Spring Boot
從實戰中快速上手
★★★【電商實戰X直接示範】★★★
★★★★【搶購系統X一學就懂】★★★★Spring Boot 是基於 Java 的開源框架,作為簡化 Spring 應用程式的建立、設定和部署。利用「約定優先於設定」的理念,先行整合好的方案,使開發者不再需要時常手動進行繁瑣的設定。
本書作者精通多種程式語言與框架,並長期做為大企業的軟體開發諮詢服務。不僅熟稔企業架構,也了解初學者的疑惑。故寫作以基礎知識下手,從常用的開發工具、專案結構、設定以及原理入手,再從 Web 開發作為切入,一步步走向專業。
書中篇章分為5篇,包括基礎篇、Web篇、資料存取篇、企業應用程式開發篇、專案實戰篇,涵蓋了企業開發中常用的技術和框架。並按照開發者的思考習慣和學習規律,參考企業級開發的分層架構,循序漸進地教讀者快速掌握Spring Boot開發。在內容上由淺入深、在知識講解上深入淺出,讓讀者輕鬆掌握Spring Boot的企業應用程式開發。
本書在進行理論講解的同時舉出了大量的範例。以範例驗證理論,跟著範例邊學邊做,讀者的學習會更簡單、更高效。其中對知識的講解讓讀者知其然且知其所以然,絕不會出現含糊不清、一遇到重點和困難就跳過的情形,最後以兩章實戰專案收尾,使讀者學而能會,會而能用。
【本書適合讀者】‧具有 Java 基礎,對 Spring Boot 感興趣者。
‧正在使用 Spring Boot 開發,卻對各種技術使用不熟練者。
‧想要了解 Spring Boot整合技術與框架者。
作者簡介:
孫鑫
具有20 多年的軟體開發和教育培訓經歷,擅長多種程式語言和技術架構。2004 年曾推出《VC++深入程式設計》和《Java 輕鬆學》教學影片,引起了熱烈迴響,在網路上掀起了一股影片教學的風潮,數十萬名學員透過兩套影片踏上軟體開發之路。作者從2006年開始,陸續出版了多版熱銷技術專書。
作者序
Spring Boot 採用「約定優先於設定」的理念,將開發人員從繁瑣且易出錯的大量設定中解放出來,從而可以大大簡化Java 企業級應用的發開,提高了專案的開發效率。但對於初學者而言,卻很難從分析高度整合的Spring Boot 的過程中熟練掌握各種技術的應用,總感覺缺點什麼,實際上缺的是Spring Boot 整合的技術和框架本身的知識。
筆者精通多種程式語言與技術架構,且長期給各大企業提供軟體開發諮詢服務,了解初學者的困惑。本書從基礎知識入手,首先帶領讀者熟悉SpringBoot 專案的常用開發工具、專案結構、Spring 的設定檔和自動設定原理,然後以Spring Boot 的Web 開發作為切入點,一步一步地進入企業開發應用。
很多初學者在學習Web 層的開發時,往往會有很多疑惑。Spring Boot的Web 開發本質上就是Spring MVC,因此本書「Web 篇」的內容以SpringMVC 作為切入點,循序漸進,引導讀者快速掌握Spring Boot 的Web 開發,讓讀者知其然且知其所以然。這種講解想法貫穿了全書!
本書特色
合理的知識結構:本書分為5 篇,包括基礎篇、Web 篇、資料存取篇、企
業應用程式開發篇、專案實戰篇,涵蓋了企業開發中常用的技術和框架。
快速入門:按照開發者的思維習慣和學習規律,循序漸進、一步步地教讀
者快速掌握Spring Boot 開發。在內容安排上由淺入深,在知識講解上深入淺出,讓讀者輕鬆掌握Spring Boot 的企業應用程式開發。
實例豐富:理論若脫離實踐則毫無意義,本書在進行理論講解的同時舉出
了大量的範例。全書範例許多,以範例驗證理論,跟著範例邊學邊做,讀者的
學習會更簡單、更高效。
知其然且知其所以然:秉承作者一貫的寫作風格,本書對知識的講解讓
讀者知其然且知其所以然,絕不會出現含糊不清、一遇到重點和困難就跳過的
情形。
兩個實戰專案:讓讀者學以致用!
Spring Boot 採用「約定優先於設定」的理念,將開發人員從繁瑣且易出錯的大量設定中解放出來,從而可以大大簡化Java 企業級應用的發開,提高了專案的開發效率。但對於初學者而言,卻很難從分析高度整合的Spring Boot 的過程中熟練掌握各種技術的應用,總感覺缺點什麼,實際上缺的是Spring Boot 整合的技術和框架本身的知識。
筆者精通多種程式語言與技術架構,且長期給各大企業提供軟體開發諮詢服務,了解初學者的困惑。本書從基礎知識入手,首先帶領讀者熟悉SpringBoot 專案的常用開發工具、專案結構、Spring 的設定檔和自動設定原理,...
目錄
第一篇 基礎篇
第1章 Spring Boot初窺
1.1 Spring Boot簡介
1.2 快速掌握Maven
1.3 使用Spring Tool Suite開發Spring Boot應用
1.4 使用IntelliJ IDEA開發Spring Boot應用
1.5 小結
第2章 Spring Boot基礎
2.1 Spring Boot專案結構剖析
2.2 撰寫控制器
2.3 熱部署
2.4 Spring Boot的設定檔
2.5 外部設定
2.6 Spring Boot常用註釋
2.7 理解starter
2.8 Spring Boot自動設定原理
2.9 自訂starter
2.10 小結
第二篇 Web篇
第3章 快速掌握Spring MVC
3.1 MVC架構模式
3.2 Spring MVC
3.3 Spring MVC自動設定
3.4 Spring MVC接收請求參數
3.5 控制器方法的傳回值
3.6 @ModelAttribute註釋
3.7 URL模式匹配
3.8 設定上下文路徑
3.9 小結
第4章 Thymeleaf範本引擎
4.1 引入和設定Thymeleaf
4.2 準備專案
4.3 Thymeleaf的語法
4.4 使用者註冊程式
4.5 小結
第5章 篩檢程式、監聽器與攔截器
5.1 Servlet篩檢程式
5.2 Servlet監聽器
5.3 攔截器
5.4 小結
第6章 輸入驗證與攔截器
6.1 JSR-303
6.2 增加驗證相依性
6.3 對User的欄位增加驗證
6.4 在註冊頁面中增加驗證錯誤消息的顯示
6.5 測試輸入資料的驗證
6.6 自訂驗證器
6.7 登入驗證攔截器
6.8 小結
第7章 例外處理和錯誤處理
7.1 例外處理
7.2 自訂錯誤頁面
7.3 小結
第8章 檔案上傳和下載
8.1 檔案上傳
8.2 檔案下載
8.3 小結
第9章 定義RESTful風格的介面
9.1 什麼是REST
9.2 HTTP方法與RESTful介面
9.3 HTTP響應的狀態碼
9.4 狀態碼的困惑與最佳實踐
9.5 RESTful API設計原則
9.6 RESTful API介面的實踐
9.7 撰寫全域錯誤處理器
9.8 使用Swagger 3.0生成介面文件
9.9 小結
第10章 Spring WebFlux框架
10.1 響應式程式設計與Reactive Streams
10.2 Spring MVC與Spring WebFlux
10.3 認識Reactor
10.4 Spring WebFlux的兩種程式設計模型
10.5 體驗非同步非阻塞
10.6 伺服器發送事件
10.7 小結
第三篇 資料存取篇
第11章 使用Spring的JdbcTemplate存取資料
11.1 認識Spring Data
11.2 準備工作
11.3 使用JdbcTemplate
11.4 小結
第12章 使用JPA存取資料
12.1 感受JPA
12.2 兩種開發方式
12.3 JPA相關註釋
12.4 Spring Data JPA的核心介面
12.5 連結關係映射
12.6 使用JPQL進行查詢
12.7 使用原生SQL敘述進行查詢
12.8 事務
12.9 專案實際問題的解決
12.10 小結
第13章 使用MyBatis存取資料
13.1 感受MyBatis
13.2 SqlSessionFactory
13.3 SqlSession
13.4 使用映射器
13.5 映射器註釋
13.6 使用註釋實作增、刪、改、查
13.7 連結關係映射
13.8 分頁查詢
13.9 小結
第14章 使用MongoDB存取資料
14.1 下載和安裝MongoDB
14.2 MongoDB與關聯式資料庫的對比
14.3 增、刪、改、查的實作
14.4 小結
第四篇 企業應用程式開發篇
第15章 安全框架Spring Security
15.1 快速開始
15.2 身份驗證
15.3 表單認證
15.4 前後端分離的登入處理方式
15.5 多使用者的認證與授權
15.6 JWT
15.7 小結
第16章 Spring Boot與快取
16.1 Spring的快取抽象
16.2 Spring的快取註釋
16.3 實例:在Spring Boot專案中應用快取
16.4 自訂鍵的生成策略
16.5 JCache(JSR-107)註釋
16.6 小結
第17章 Spring Boot整合Redis
17.1 Redis簡介
17.2 Redis的應用場景
17.3 Redis的安裝
17.4 Redis資料型態
17.5 將Redis用作快取
17.6 掌握RedisTemplate
17.7 撰寫工具類別封裝Redis存取操作
17.8 自訂RedisTemplate序列化方式
17.9 手動實作Redis資料儲存與讀取
17.10 小結
第18章 Spring Boot整合RabbitMQ
18.1 面向訊息的中介軟體
18.2 RabbitMQ簡介
18.3 RabbitMQ的下載與安裝
18.4 RabbitMQ用戶端API介紹
18.5 六種應用模式
18.6 Spring Boot對RabbitMQ的支援
18.7 延遲訊息佇列
18.8 小結
第19章 整合Elasticsearch,提供搜尋服務
19.1 Elasticsearch的下載與安裝
19.2 Elasticsearch的基本概念
19.3 Spring Boot對Elasticsearch的支援
19.4 小結
第五篇 專案實戰篇
第20章 電子商場專案實戰
20.1 資料庫設計
20.2 建立專案
20.3 專案結構
20.4 專案設定
20.5 分類別模組
20.6 圖書模組與評論模組
20.7 使用者模組
20.8 安全實作
20.9 使用JWT實作token驗證
20.10 全域錯誤處理器
20.11 小結
第21章 商品限時搶購系統
21.1 功能描述
21.2 資料庫設計
21.3 建立專案
21.4 專案結構
21.5 專案設定
21.6 設定Redis和RabbitMQ
21.7 資料存取層
21.8 業務邏輯層(服務層)
21.9 展現層(Web層)
21.10 小結
第22章 部署Spring Boot應用程式
22.1 JAR套件的打包方式與執行
22.2 打包成WAR檔案並部署到Tomcat伺服器上
22.3 小結
第一篇 基礎篇
第1章 Spring Boot初窺
1.1 Spring Boot簡介
1.2 快速掌握Maven
1.3 使用Spring Tool Suite開發Spring Boot應用
1.4 使用IntelliJ IDEA開發Spring Boot應用
1.5 小結
第2章 Spring Boot基礎
2.1 Spring Boot專案結構剖析
2.2 撰寫控制器
2.3 熱部署
2.4 Spring Boot的設定檔
2.5 外部設定
2.6 Spring Boot常用註釋
2.7 理解starter
2.8 Spring Boot自動設定原理
2.9 自訂starter
2.10 小結
第二篇 Web篇
第3章 快速掌握Spring MVC
3.1 MVC架構模式
3.2 Spring MVC
3.3...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。