Spring Boot企業(yè)級項目開發(fā)——入門到精通
定 價:68 元
- 作者:鐘林森 羅劍 著
- 出版時間:2020/3/1
- ISBN:9787568041249
- 出 版 社:華中科技大學出版社
- 中圖法分類:TP312.8
- 頁碼:380
- 紙張:膠版紙
- 版次:1
- 開本:16開
《Spring Boot企業(yè)級項目開發(fā)——入門到精通》站在初學者的角度,從零開始介紹Spring Boot的基本概念、核心特性以及在實際項目開發(fā)中的作用,帶領(lǐng)讀者一步一個腳印地學習并實戰(zhàn)Spring Boot相關(guān)核心技術(shù)以及常見的分布式中間件;除此之外,書末還重點介紹并實戰(zhàn)了企業(yè)中幾乎處處可見的系統(tǒng)——權(quán)限管理平臺,以此鞏固加深前面篇章學習的相關(guān)技術(shù)。
值得一提的是,書中在介紹Spring Boot核心技術(shù)理論知識的同時也給出了相對應的實際項目案例,并編寫了相應的代碼進行實戰(zhàn)實現(xiàn),以此提高讀者的開發(fā)水平和項目實戰(zhàn)能力。
本書共10章,分為3篇。第1篇為Spring Boot基礎篇,主要介紹了Spring Boot的基本概念、技術(shù)優(yōu)勢和幾大核心特性,基于Spring Boot開發(fā)應用系統(tǒng)時需要準備的開發(fā)環(huán)境和開發(fā)工具,并以此作為基礎搭建了入門級的Spring Boot單模塊項目——Hello World 以此開啟Spring Boot的學習之旅;之后則是趁熱打鐵,先后介紹并實戰(zhàn)了如何在Spring Boot項目讀取各種類型的配置文件、整合數(shù)據(jù)訪問層ORM框架Spring Data JPA/Mybatis實現(xiàn)對數(shù)據(jù)庫的操作、整合Spring MVC實現(xiàn)一個Java Web應用系統(tǒng)常見、常用的功能。
第2篇為Spring Boot核心技術(shù)與高級應用篇,全面介紹了目前在實際項目開發(fā)中Spring Boot常見、常用的核心技術(shù)及其對應的代碼實戰(zhàn),其中主要包括文件的上傳下載、各種類型郵件的發(fā)送、定時任務的實現(xiàn)、多種方式實現(xiàn)Excel的導入導出等核心技術(shù);除此之外,還重點介紹了目前市面上兩款主流的分布式中間件,包括緩存中間Redis、消息中間件RabbitMQ,介紹其基本概念、作用以及典型的應用場景,可以說為本書潤色了不少。
第3篇為Spring Boot企業(yè)項目實戰(zhàn)與總結(jié)篇,本篇的內(nèi)容是對第1、2篇內(nèi)容做的總結(jié);重點介紹并實戰(zhàn)了如何基于Spring Boot搭建一個實際的企業(yè)級項目——權(quán)限管理平臺,帶領(lǐng)讀者從系統(tǒng)功能需求分析開始,到系統(tǒng)的整體架構(gòu)設計、數(shù)據(jù)庫設計,再到系統(tǒng)功能模塊劃分、前后端編碼開發(fā)、測試、系統(tǒng)安全防御配置,后再到系統(tǒng)打包、部署、上線運行等一整套流程,有助于讀者切身感受企業(yè)中真實項目的整個開發(fā)上線流程。
本書特別適合Spring Boot實踐經(jīng)驗為零的開發(fā)人員閱讀;有一定Java應用開發(fā)經(jīng)驗的工程師,閱讀該書后可以了解Spring Boot在構(gòu)建企業(yè)級應用過程中所提供的思路和解決方案,進一步了解Spring Boot底層的運行原理;IT培訓機構(gòu)的學員也可以通過該書系統(tǒng)地學習Spring Boot相關(guān)的核心技術(shù)。
(1)零基礎入門Spring Boot,由淺入深、循序漸進地講述Spring Boot核心技術(shù)。
(2)涵蓋Spring Boot、Spring MVC、Mybatis、Shiro、Redis、RabbitMQ等技術(shù)。
(3)理論聯(lián)系實際,以企業(yè)真實項目為應用場景實戰(zhàn)相關(guān)技術(shù),鞏固知識,加深理解。
(4)書中所有知識點都配有代碼實戰(zhàn),能讓讀者在理解理論的同時掌握開發(fā)技能。
(5)通過企業(yè)權(quán)限管理平臺項目的全程實戰(zhàn),提高讀者的項目開發(fā)水平和技術(shù)運用能力。
時光荏苒,歲月如梭,轉(zhuǎn)眼間Java已經(jīng)走過了二十多個年頭,其發(fā)展之快亦不由得令人驚嘆。如今它依舊蒸蒸日上,猶如華夏文明、傳承之火一般生生不息,歸根結(jié)底主要在于它的跨平臺及實用等特性。
現(xiàn)如今已是微服務、分布式、IOT(物聯(lián)網(wǎng))、5G以及人工智能盛行的時代,Java在這個時代的軟件開發(fā)領(lǐng)域占據(jù)了一席之地,特別是在微服務、分布式領(lǐng)域,其開源的微框架Spring Boot及Spring Cloud和Dubbo + ZooKeeper組合更是大大鞏固了Java在相關(guān)領(lǐng)域的地位。
現(xiàn)在,開發(fā)者每每談起Java,都離不開Spring Boot(Spring Cloud也是需要基于Spring Boot的),毫不客氣地講,目前企業(yè)大部分的Java應用系統(tǒng)是以Spring Boot作為主導的,配以Spring MVC、Mybatis以及中間件等各種組件組合完成整個系統(tǒng)的業(yè)務功能,可以說基本上取代了傳統(tǒng)企業(yè)級應用系統(tǒng)中以Spring/JavaEE作為主導的開發(fā)模式。
本書站在初學者的角度,從Spring Boot誕生的緣由和基本概念開始講起,一步一個腳印地介紹了Spring Boot的基本概念、開發(fā)優(yōu)勢和幾大核心特性,帶領(lǐng)各位讀者一步步搭建第一個Spring Boot項目(以Spring Boot 2.×版本為主),并以此為基礎介紹并實戰(zhàn)Spring Boot相關(guān)的核心技術(shù)棧,如基礎配置、數(shù)據(jù)層訪問、Web應用開發(fā)以及其他核心技術(shù)等。
為了方便讀者理解與掌握,筆者在介紹相應的技術(shù)點時,結(jié)合了企業(yè)中真實項目的應用案例,并配備了相應的代碼,讓讀者在理解理論的同時也能掌握相應的開發(fā)技能。
筆者還介紹了目前主流的分布式中間件Redis和RabbitMQ,這可以說是為了提升讀者的開發(fā)能力和就業(yè)競爭力而安排的。畢竟在如今IT行業(yè)競爭激烈、就業(yè)壓力比較大的環(huán)境下,掌握一些分布式中間件,如緩存中間件Redis、消息中間件RabbitMQ可以給自己加分。
在本書的后介紹了企業(yè)里幾乎隨處可見的應用系統(tǒng),即權(quán)限管理平臺,它是前面篇章介紹的所有技術(shù)棧的大匯總,即將學到的技術(shù)應用到真實的系統(tǒng)、真實的項目開發(fā)中,才是真正的學以致用,而不是一味地停留在理論或者死記硬背的層面。
本書是一本以代碼實戰(zhàn)為主、以理論為輔的實戰(zhàn)書籍,特別適合有一定基礎的Java開發(fā)者及Spring Boot初學者學習,也適合高等院校和培訓學校相關(guān)專業(yè)的師生作為教學參考書。
書中涉及的開發(fā)工具與軟件版本如下:Intellij IDEA(2020)、Spring Boot(2.3.1.RELEASE)、Navicat Premium(11.0) 、JDK(1.8)、MySQL(5.7)、Redis(6.0)、RabbitMQ(3.8)、Linux Centos(7.×)、Postman(7.36.0)、Apache JMeter(5.1.1)。瀏覽器為Chrome 2020。大部分軟件下載可以前往鏈接http://www.fightjava.com/web/index/resource.html ,即“程序員實戰(zhàn)基地”的“資料中心”搜索下載。
鐘林森 網(wǎng)名debug,Java高級后端工程師。目前在國內(nèi)某互聯(lián)網(wǎng)公司擔任開發(fā)組長,負責公司Java應用后端開發(fā),并參與公司IT基礎架構(gòu)體系的研發(fā)。CSDN博客專家,發(fā)表了大量的原創(chuàng)博客文字,博客訪問量達百萬人次。51CTO學院、CSDN學院及網(wǎng)易云課堂等知名教育平臺講師,教授學員上萬人。追求技術(shù),熱愛分享,相信技術(shù)改變生活,技術(shù)成就夢想,一直在不斷地學習和積累新知識,秉承修羅之道,花名阿修羅。
第1篇Spring Boot基礎篇
第1章走進Spring Boot
1.1Spring Boot概述/003
1.1.1Spring Boot簡介/003
1.1.2Spring Boot的優(yōu)勢/003
1.1.3Spring Boot的幾大核心特性/004
1.2開發(fā)環(huán)境準備/004
1.2.1學習Spring Boot的前提與開發(fā)環(huán)境和工具/004
1.2.2基于Spring Initializr構(gòu)建單模塊項目/005
1.2.3寫個Hello World吧/007
1.2.4單模塊項目的優(yōu)缺點/008
1.3Spring Boot多模塊項目的搭建/009
1.3.1基于Maven構(gòu)建多模塊項目的規(guī)范/009
1.3.2基于Maven構(gòu)建多模塊項目的流程/009
1.3.3寫個Hello World吧/014
1.4Spring Boot原理初步分析/015
1.4.1Spring Boot起步依賴/016
1.4.2Spring Boot自動裝配/018
1.4.3Spring Boot啟動執(zhí)行流程/019
第2章Spring Boot基礎配置詳解
2.1Spring Boot單元測試與熱加載/023
2.1.1單元測試簡介與使用/023
2.1.2基于Devtools實現(xiàn)Spring Boot項目熱加載/025
2.2Spring Boot全局配置文件詳解/028
2.2.1Spring Boot兩大默認配置文件介紹/028
2.2.2基于Environment讀取配置文件/029
2.2.3基于@Value讀取配置文件/030
2.2.4基于@ConfigurationProperties映射配置文件/031
2.3Spring Boot自定義配置詳解/033
2.3.1基于@PropertySource加載配置文件/034
2.3.2基于@ImportResource加載XML配置文件/035
2.3.3基于@Configuration編寫自定義配置類/037
2.4Spring Boot多環(huán)境配置詳解/039
2.4.1為什么需要多環(huán)境配置?/039
2.4.2多環(huán)境配置實戰(zhàn)/039
第3章Spring Boot數(shù)據(jù)訪問層實戰(zhàn)
3.1基于Spring JdbcTemplate搭建數(shù)據(jù)訪問層/044
3.1.1數(shù)據(jù)訪問層與Spring JdbcTemplate簡介/044
3.1.2Spring Boot整合JdbcTemplate實現(xiàn)CRUD/044
3.1.3實戰(zhàn)案例測試/048
3.2基于Mybatis搭建數(shù)據(jù)訪問層/051
3.2.1Mybatis簡介/052
3.2.2Spring Boot整合與配置Mybatis/052
3.2.3Spring Boot整合Mybatis實現(xiàn)CRUD/053
3.2.4實戰(zhàn)案例測試與總結(jié)/057
3.3基于Spring Data JPA搭建數(shù)據(jù)訪問層/060
3.3.1Spring Data JPA簡介/061
3.3.2Spring Boot整合與配置Spring Data JPA/061
3.3.3Spring Boot整合Spring Data JPA實現(xiàn)CRUD/062
3.3.4實戰(zhàn)案例測試/066
第4章Spring Boot實現(xiàn)Web常用功能
4.1整合Spring MVC實現(xiàn)Web常用功能/073
4.1.1Spring MVC簡介與執(zhí)行流程/073
4.1.2Java Web常見的模板引擎/075
4.1.3Thymeleaf配置與常見用法/077
4.2基于SSM實戰(zhàn)用戶信息管理/081
4.2.1數(shù)據(jù)庫表設計/081
4.2.2業(yè)務邏輯處理層代碼實戰(zhàn)/083
4.2.3前端代碼實戰(zhàn)與測試一/086
4.2.4前端代碼實戰(zhàn)與測試二/089
第2篇Spring Boot核心技術(shù)與高級應用篇
第5章Spring Boot核心技術(shù)之上傳下載、發(fā)送郵件與定時任務
5.1文件的上傳與下載/094
5.1.1Lombok簡介與實戰(zhàn)/094
5.1.2文件上傳與下載開發(fā)流程介紹/097
5.1.3基于Java IO實戰(zhàn)實現(xiàn)文件上傳/098
5.1.4基于Java IO實戰(zhàn)實現(xiàn)文件下載/100
5.1.5基于Java NIO實戰(zhàn)實現(xiàn)文件上傳/103
5.1.6基于Java NIO實戰(zhàn)實現(xiàn)文件下載/105
5.2發(fā)送郵件與定時任務實戰(zhàn)/108
5.2.1基于Spring Boot整合與配置起步依賴/108
5.2.2基于Spring Boot實現(xiàn)簡單文本郵件的發(fā)送/109
5.2.3基于Spring Boot實現(xiàn)富文本郵件的發(fā)送/112
5.2.4基于Spring Boot實現(xiàn)帶附件郵件的發(fā)送/114
5.2.5定時任務與@Scheduled注解實戰(zhàn)/117
5.2.6基于Java線程池高效執(zhí)行多個定時任務/119
第6章Spring Boot核心技術(shù)之導入導出Excel
6.1典型應用場景介紹/125
6.2Excel導出實戰(zhàn)/127
6.2.1Excel導出開發(fā)流程詳解/127
6.2.2基于POI實現(xiàn)Excel的導出/128
6.2.3基于EasyExcel實現(xiàn)Excel的導出/132
6.3Excel導入實戰(zhàn)/135
6.3.1Excel導入開發(fā)流程詳解/135
1366.3.2基于POI實現(xiàn)Excel的導入/
6.3.3基于EasyExcel實現(xiàn)Excel的導入/139
6.3.4兩種實現(xiàn)方式的對比/142
第7章緩存中間件Redis實戰(zhàn)
7.1Redis簡介與典型應用場景/145
7.2使用Redis/146
7.2.1快速安裝Redis/146
7.2.2在Windows環(huán)境下使用Redis/147
7.2.3Spring Boot 2.0整合與配置Redis/150
7.2.4自定義注入與配置Redis模板操作組件Bean/151
7.2.5RedisTemplate實戰(zhàn)/152
7.2.6StringRedisTemplate實戰(zhàn)/154
7.3Redis常見數(shù)據(jù)結(jié)構(gòu)/157
7.3.1字符串String/157
7.3.2列表List/158
7.3.3集合Set/160
7.3.4有序集合SortedSet/161
7.3.5哈希Hash存儲/163
7.3.6Key失效與判斷是否存在/165
7.4Redis消息訂閱發(fā)布機制/167
7.4.1消息訂閱發(fā)布機制簡介/167
7.4.2Spring Boot整合Redis實現(xiàn)消息訂閱發(fā)布/169
7.4.3接口功能測試/172
7.5Redis實戰(zhàn)場景之緩存擊穿/172
7.5.1什么是緩存擊穿/173
7.5.2緩存擊穿的解決方案/173
7.4.3代碼實戰(zhàn)之并發(fā)場景復現(xiàn)/174
7.5.4代碼實戰(zhàn)之分布式鎖/180
7.6Redis實戰(zhàn)場景之緩存穿透/184
7.6.1什么是緩存穿透/184
7.6.2緩存穿透的解決方案/185
7.6.3代碼實戰(zhàn)實現(xiàn)過程/186
7.6.4其他典型的問題/188
第8章消息中間件RabbitMQ實戰(zhàn)
8.1RabbitMQ為何物/190
8.1.1RabbitMQ簡介/190
8.1.2常見的應用場景/191
8.1.3安裝RabbitMQ與Web管理界面介紹/196
8.1.4RabbitMQ入門代碼實戰(zhàn)/196
8.2Spring Boot整合RabbitMQ/201
8.2.1RabbitMQ專用組件介紹/201
8.2.2Spring Boot整合RabbitMQ/202
8.2.3自定義注入RabbitMQ操作組件/203
8.2.4發(fā)送接收消息實戰(zhàn)/204
8.3基于RabbitMQ多種交換器的消息模型實戰(zhàn)/208
8.3.1基于FanoutExchange的消息模型實戰(zhàn)/208
8.3.2基于DirectExchange的消息模型實戰(zhàn)/213
8.3.3基于TopicExchange的消息模型實戰(zhàn)/216
8.4典型應用場景實戰(zhàn)之異步發(fā)送郵件/221
8.4.1整體業(yè)務流程介紹與分析/221
8.4.2數(shù)據(jù)庫表設計與Mybatis逆向工程/222
8.4.3基于DirectExchange的消息模型發(fā)送接收郵件/223
8.4.4業(yè)務場景功能接口測試/226
8.5RabbitMQ死信隊列與延遲隊列/227
8.5.1簡介、作用與典型應用場景/227
8.5.2RabbitMQ死信隊列之消息模型/229
8.5.3RabbitMQ死信隊列代碼實戰(zhàn)/231
8.5.4RabbitMQ延遲隊列之消息模型/235
8.5.5RabbitMQ延遲隊列代碼實戰(zhàn)/238
8.5.6RabbitMQ死信隊列與延遲隊列對比/241
第3篇Spring Boot企業(yè)項目實戰(zhàn)與總結(jié)篇
第9章企業(yè)項目開發(fā)實戰(zhàn)之權(quán)限管理平臺
9.1企業(yè)權(quán)限管理平臺整體介紹/246
9.1.1權(quán)限管理簡介與系統(tǒng)整體介紹/246
9.1.2數(shù)據(jù)庫表設計與Mybatis逆向工程/249
9.1.3項目整體搭建流程介紹/255
9.1.4用戶認證與授權(quán)框架Shiro簡介/261
9.2用戶登錄功能實戰(zhàn)/262
9.2.1整體開發(fā)流程介紹/263
9.2.2驗證碼組件配置與生成圖形驗證碼/264
9.2.3開發(fā)Controller接收用戶登錄請求/266
9.2.4整合Shiro完成用戶的登錄功能/267
9.3部門與菜單模塊開發(fā)實戰(zhàn)/271
9.3.1相關(guān)數(shù)據(jù)庫表介紹/272
9.3.2部門模塊實戰(zhàn)之列表數(shù)據(jù)獲取/273
9.3.3基于treeGrid實現(xiàn)頁面布局與列表展示/277
9.3.4新增與修改部門功能實戰(zhàn)/279
9.3.5菜單模塊實戰(zhàn)之列表數(shù)據(jù)獲取/286
9.3.6基于treeGrid實現(xiàn)頁面布局與列表展示/290
9.3.7新增與修改菜單功能實戰(zhàn)/292
9.4角色與用戶模塊開發(fā)實戰(zhàn)/301
9.4.1相關(guān)數(shù)據(jù)庫表介紹/301
9.4.2角色模塊實戰(zhàn)之列表數(shù)據(jù)獲取/304
9.4.3新增與修改角色功能實戰(zhàn)/308
9.4.4用戶模塊實戰(zhàn)之列表數(shù)據(jù)獲取/316
9.4.5新增與修改用戶功能實戰(zhàn)/320
9.4.6權(quán)限控制實戰(zhàn)/329
9.5系統(tǒng)安全性防護、日志存儲與部署上線/338
9.5.1系統(tǒng)安全性防護之XSS攻擊和SQL注入防御/338
9.5.2日志存儲的必要性與日志列表展示/344
9.5.3基于Spring AOP與自定義注解實現(xiàn)日志存儲/347
9.5.4項目部署上線/352
后記 總結(jié)與回顧