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