大家好,我是韓帥,也是程序員十三。
非常感謝你閱讀本書,在技術(shù)道路上,從此我們不再獨行。
1. 寫作背景
2017年2月24日,筆者正式開啟技術(shù)寫作之路,同時也開始在GitHub網(wǎng)站上做開源項目,由于一直堅持更新文章和開源項目,慢慢被越來越多的人所熟悉。
從2018年開始,有不少出版社的編輯向筆者邀約寫書。2018年6月7日,電子工業(yè)出版社的陳林編輯通過郵件聯(lián)系筆者并邀請筆者寫書。從此,筆者與電子工業(yè)出版社結(jié)緣。
對于圖書寫作的邀約,一開始筆者都會婉拒,因為筆者對自己有比較清楚的認(rèn)知。博客文章的寫作要求相較于圖書出版的要求還是有很大差別的,筆者覺得當(dāng)時的可行性太低,于是逐一拒絕了出書的邀約?墒茄s多了,心態(tài)也有了改變。就像當(dāng)初寫篇博客抱著試一試的心態(tài),筆者慢慢也有了試一試寫書的念頭。
生活中總有意外的驚喜。
2018年,筆者也被不同的平臺邀請制作付費專欄和課程。自2018年9月開始,筆者陸陸續(xù)續(xù)在CSDN圖文課、實驗樓、藍橋云課、掘金小冊、極客時間等平臺上線了多個付費專欄和課程。其中,與Spring Boot技術(shù)棧相關(guān)的付費專欄就有7個。同時,筆者也會將付費專欄中的實戰(zhàn)項目開源到GitHub和Gitee兩個開源代碼平臺上。本書中的實戰(zhàn)項目newbee-mall新蜂商城也是在這段時期內(nèi)開發(fā)的,并于2019年開源。
基于這些開源項目的維護經(jīng)驗和多個付費專欄的制作經(jīng)驗,筆者逐漸覺得自己已經(jīng)有能力完成一本技術(shù)書的寫作,并且做到言之有物了。所以,筆者打定主意要寫一本實體技術(shù)書。這也是一個開發(fā)者長久以來的夢想。于是筆者與陳林編輯聯(lián)系并溝通了寫作事宜,簽訂了圖書出版合同。筆者寫作的初衷就是希望自己把對Spring Boot技術(shù)棧的理解及實戰(zhàn)項目開發(fā)的經(jīng)驗分享給讀者。
筆者過去幾年的經(jīng)歷可以整理成一張圖,免費文章付費專欄付費視頻實體書,從0到1,從無到有,都是一步一步走過來的。這些也是筆者的寫作背景。
如果本書能夠幫助讀者學(xué)會Spring Boot并且用Spring Boot開發(fā)一些實際項目,那么筆者就非常滿足了,這一次的寫作也變得意義非凡。另外,筆者也在開始整理第二本書的底稿,內(nèi)容是關(guān)于Spring Boot Vue3前后端分離的實戰(zhàn)項目開發(fā)。項目預(yù)覽圖如下所示。
2. 你會學(xué)到什么
本書的代碼基于Spring Boot 2.3.7-RELEASE版本。筆者用25章全面深入地講解Spring Boot技術(shù)棧的技術(shù)原理、功能點開發(fā)和項目實戰(zhàn)。
工欲善其事,必先利其器。本書注重基礎(chǔ)環(huán)境的搭建和開發(fā)工具的使用,以幫助讀者少走彎路,快速掌握Spring Boot項目的開發(fā)技能。
讀者學(xué)習(xí)本書,會有以下收獲。
l Spring Boot技術(shù)棧的基礎(chǔ)使用和開發(fā)技巧
l Spring Boot的進階知識,自動配置特性的源碼解讀
l Spring Boot項目的實戰(zhàn)開發(fā)
l 為在校學(xué)生的畢業(yè)設(shè)計提供思路
l Thymeleaf模板引擎的整合及運用
l AdminLTE3、Bootstrap4、SweetAlert、JqGrid、JQuery等前端框架組件及控件的使用
l Spring Boot企業(yè)級商城項目的全流程開發(fā)實踐
l 大型技術(shù)項目的開發(fā)、設(shè)計和統(tǒng)籌
3. 適宜人群
本書定位Spring Boot項目的實戰(zhàn)和進階,資深開發(fā)人員可按需要選擇對應(yīng)章節(jié)閱讀。為了照顧初學(xué)者,本書也設(shè)置了入門章節(jié)。以下讀者非常適合學(xué)習(xí)本書。
l 從事Java Web開發(fā)的技術(shù)人員
l 對Spring Boot感興趣、想要改變原有開發(fā)模式的開發(fā)人員
l 希望將Spring Boot技術(shù)實際運用到項目中的開發(fā)人員
l 需要使用Spring Boot進行完整項目學(xué)習(xí)的開發(fā)人員
l 想要獨立完成一個Java Web項目的開發(fā)人員
l 需要大型商城項目實踐的開發(fā)人員
l 想要將自己的項目上線到互聯(lián)網(wǎng)的開發(fā)人員
4. 源碼
本書每個實戰(zhàn)章節(jié)都會有對應(yīng)的源碼并提供下載,讀者可以在本書封底掃碼獲取。
終的實戰(zhàn)項目是筆者的開源項目newbee-mall,源碼在開源網(wǎng)站GitHub和Gitee上都能搜索并下載到的源碼。
l github.com/newbee-ltd/newbee-mall
l gitee.com/newbee-ltd/newbee-mall
5. 致謝
感謝本書編輯陳林老師。從封郵件開始,他就展現(xiàn)了出版社編輯的專業(yè)性和耐心。在寫作中,陳老師對本書的內(nèi)容脈絡(luò)做了非常多的指導(dǎo)工作,也給予筆者非常多的幫助和鼓勵。在書稿整理完成后,陳老師不斷調(diào)整和優(yōu)化稿件中的內(nèi)容,以確保圖書質(zhì)量。感謝電子工業(yè)出版社的美術(shù)編輯李玲和其他老師,本書能夠順利出版離不開他們的奉獻,感謝他們辛苦、嚴(yán)謹(jǐn)?shù)墓ぷ鳌?/p>
感謝newbee-mall開源倉庫的各位用戶及筆者專欄文章的所有讀者。他們提供了非常多的修改和優(yōu)化意見,使Spring Boot商城項目變得更加完善,也為筆者提供了持續(xù)寫作的動力。
感謝掘金社區(qū)及其運營負(fù)責(zé)人優(yōu)弧和運營人員Captain。本書大部分內(nèi)容是對掘金小冊《Spring Boot大型線上商城項目實戰(zhàn)教程》的系統(tǒng)化升級和優(yōu)化,本書能順利出版也得到了掘金社區(qū)的大力支持。
特別感謝一下家人,沒有他們的默默付出和巨大的支持,筆者不可能有如此多的時間和精力專注于本書的寫作。
感謝每一位沒有提及名字,但是曾經(jīng)幫助過筆者的貴人。
韓帥
2021年7月1日 于杭州
第1章 如何系統(tǒng)地學(xué)習(xí)Spring Boot
1.1 學(xué)習(xí)Spring Boot遇到的問題
1.2 學(xué)習(xí)Spring Boot的系統(tǒng)性建議
第2章 Spring Boot:Java開發(fā)人員的選擇
2.1 認(rèn)識Spring Boot
2.2 選擇Spring Boot
第3章 Spring Boot基礎(chǔ)開發(fā)環(huán)境的安裝和配置
3.1 JDK的安裝和配置
3.2 Maven的安裝和配置
3.3 開發(fā)工具IDEA的安裝和配置
第4章 Spring Boot項目搭建及快速上手
4.1 Spring Boot項目創(chuàng)建
4.2 Spring Boot項目目錄結(jié)構(gòu)介紹
4.3 啟動Spring Boot項目
4.4 開發(fā)個Spring Boot項目
第5章 Spring Boot核心詳解及源碼分析
5.1 約定優(yōu)于配置
5.2 Spring Boot之依賴管理
5.3 @SpringBootApplication注解與分析
5.4 SpringApplication啟動流程解析
第6章 Spring Boot之DispatcherServlet自動配置及源碼解讀
6.1 Spring MVC的核心分發(fā)器DispatcherServlet
6.2 DispatcherServlet自動配置的源碼調(diào)試記錄
6.3 自動配置類DispatcherServletAutoConfiguration
6.4 DispatcherServlet自動配置流程
第7章 Spring Boot之Web開發(fā)和Spring MVC自動配置分析
7.1 Spring MVC自動配置內(nèi)容
7.2 WebMvcAutoConfiguration源碼分析
7.3 ViewResolver視圖解析器的自動配置
7.4 自動注冊Converter、Formatter
7.5 消息轉(zhuǎn)換器HttpMessageConverter
7.6 Spring Boot對靜態(tài)資源的映射規(guī)則
7.7 welcomePage和favicon配置
第8章 Thymeleaf模板引擎使用詳解
8.1 模板引擎技術(shù)介紹
8.2 Thymeleaf模板引擎
8.3 Spring Boot之Thymeleaf 整合
8.4 Thymeleaf屬性值講解
8.5 Thymeleaf語法講解
第9章 Spring Boot操作MySQL數(shù)據(jù)庫
9.1 Spring Boot連接MySQL實踐
9.2 Spring Boot數(shù)據(jù)源自動配置源碼詳解
9.3 使用JdbcTemplate進行數(shù)據(jù)庫的增、刪、改、查
9.4 Spring Boot項目中MyBatis相關(guān)組件的自動配置講解
9.5 Spring Boot整合MyBatis的過程
9.6 Spring Boot整合MyBatis進行數(shù)據(jù)庫的增、刪、改、查
第10章 分頁功能的講解和編碼實現(xiàn)
10.1 分頁功能介紹
10.2 分頁功能的作用
10.3 分頁功能的設(shè)計
10.4 分頁功能的編碼實現(xiàn)
10.5 jqGrid分頁插件
10.6 整合jqGrid實現(xiàn)分頁功能
第11章 Spring Boot文件上傳功能的實現(xiàn)
11.1 Spring MVC處理文件上傳的源碼分析
11.2 Spring Boot文件上傳功能的實現(xiàn)案例
11.3 Spring Boot文件上傳路徑回顯
11.4 Spring Boot多文件上傳功能的實現(xiàn)
第12章 Spring Boot實現(xiàn)驗證碼生成及驗證功能
12.1 驗證碼介紹
12.2 Spring Boot整合easy-captcha生成驗證碼
12.3 生成并顯示驗證碼
12.4 驗證碼的輸入驗證
第13章 商城項目需求分析與功能設(shè)計
13.1 選擇開發(fā)商城系統(tǒng)的原因
13.2 認(rèn)識新蜂商城系統(tǒng)
13.3 新蜂商城功能詳解
第14章 項目初體驗:啟動和使用新蜂商城
14.1 下載商城項目的源碼
14.2 新蜂商城目錄結(jié)構(gòu)講解
14.3 啟動商城項目
14.4 注意事項
第15章 頁面設(shè)計及商城后臺管理系統(tǒng)頁面布局的實現(xiàn)
15.1 前端頁面實現(xiàn)的技術(shù)選型
15.2 商城頁面布局講解
15.3 后臺管理系統(tǒng)頁面制作
第16章 后臺管理系統(tǒng)登錄功能的實現(xiàn)
16.1 登錄流程設(shè)計
16.2 管理員登錄功能實踐
16.3 后臺管理系統(tǒng)登錄攔截器的實現(xiàn)
16.4 管理員模塊功能的完善
第17章 輪播圖管理模塊的開發(fā)
17.1 輪播圖模塊介紹
17.2 輪播圖管理頁面跳轉(zhuǎn)邏輯的實現(xiàn)
17.3 輪播圖管理模塊后端功能的實現(xiàn)
17.4 輪播圖管理模塊前端功能的實現(xiàn)
第18章 分類管理模塊的開發(fā)
18.1 分類管理模塊介紹
18.2 商品類目管理模塊前端頁面的制作
18.3 商品分類表的結(jié)構(gòu)設(shè)計
18.4 分類模塊后端功能的實現(xiàn)
18.5 商品類目管理模塊前端功能的實現(xiàn)
18.6 分類數(shù)據(jù)的三級聯(lián)動功能開發(fā)
第19章 富文本編輯器介紹及整合
19.1 富文本編輯器詳解
19.2 富文本編輯器wangEditor的介紹
19.3 wangEditor整合編碼案例
19.4 新蜂商城項目wangEditor的應(yīng)用情況
第20章 商品編輯頁面及商品管理模塊的開發(fā)
20.1 新蜂商城商品管理模塊簡介
20.2 新蜂商城商品信息表結(jié)構(gòu)的設(shè)計
20.3 商品編輯頁面的制作
20.4 商品信息添加接口的開發(fā)與聯(lián)調(diào)
20.5 商品信息編輯頁面的完善
20.6 商品信息修改的開發(fā)與聯(lián)調(diào)
20.7 商品信息管理頁面的制作
20.8 商品信息管理模塊接口的實現(xiàn)·
20.9 商品管理模塊前端功能的實現(xiàn)
第21章 新蜂商城首頁功能的開發(fā)
21.1 新蜂商城首頁靜態(tài)頁面的制作
21.2 新蜂商城首頁功能的實現(xiàn)
21.3 商城端首頁輪播圖功能的實現(xiàn)
21.4 首頁分類效果的制作
21.5 商城首頁推薦商品模塊的介紹
21.6 首頁配置管理頁面的制作
21.7 首頁配置管理模塊接口的設(shè)計及實現(xiàn)
21.8 首頁配置管理模塊前端功能的實現(xiàn)
21.9 商城首頁功能完善
第22章 商城端用戶登錄和注冊功能的開發(fā)
22.1 商城端用戶表結(jié)構(gòu)的設(shè)計
22.2 商城端用戶登錄和注冊頁面的制作
22.3 商城端用戶登錄和注冊模塊接口的實現(xiàn)
22.4 商城端用戶登錄注冊模塊前端功能的實現(xiàn)
22.5 商城端用戶登錄攔截器的實現(xiàn)
22.6 功能測試
第23章 商城端搜索商品功能的開發(fā)
23.1 搜索頁面的設(shè)計和數(shù)據(jù)格式的定義
23.2 發(fā)起搜索請求
23.3 商品數(shù)據(jù)查詢的實現(xiàn)代碼
23.4 商品搜索結(jié)果頁面數(shù)據(jù)的渲染
第24章 商品詳情頁及購物車功能的開發(fā)
24.1 商城端商品詳情頁面的制作
24.2 購物車模塊簡介及表結(jié)構(gòu)設(shè)計
24.3 將商品加入購物車功能的實現(xiàn)
24.4 購物車列表功能的實現(xiàn)
24.5 編輯購物項功能的實現(xiàn)
24.6 功能測試
第25章 訂單模塊功能開發(fā)及講解
25.1 訂單確認(rèn)頁面的功能開發(fā)
25.2 訂單模塊中的表結(jié)構(gòu)設(shè)計
25.3 訂單生成功能的實現(xiàn)
25.4 訂單詳情頁面功能的實現(xiàn)
25.5 商城端訂單列表功能
25.6 訂單處理流程及訂單狀態(tài)的介紹
25.7 訂單狀態(tài)轉(zhuǎn)換的講解
25.8 商城系統(tǒng)的展望