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