-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Spring Boot應用開發實戰

( 簡體 字)
作者:饒仕琪類別:1. -> 程式設計 -> JAVA -> Spring
譯者:
出版社:清華大學出版社Spring Boot應用開發實戰 3dWoo書號: 54287
詢問書籍請說出此書號!

有庫存
NT售價: 395

出版日:3/1/2021
頁數:317
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302575269
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

現代人越來越離不開互聯網。打車、購票軟件助力出行,支付軟件讓各類交易變得快捷,電商與物流系統的聯合讓北方的居民也能吃上南國的水果。互聯網已經涉及現代生活的方方面面,Web開發技術為之貢獻了許多。Spring作為Java Web開發的中堅力量,在該領域的快速發展中扮演著重要的角色。Spring社區不斷地向外輸出Web開發技術,在保證性能的同時兼顧開發效率。這樣的特點讓基于Spring的Web開發技術得到廣泛的應用,如果選擇使用Java語言開發Web服務,Spring就是Java開發人員的首選。
Spring Boot是Spring社區中的頂級項目,在整個生態中如同基石一樣。無論是想結合模板引擎實現一個單體應用、支撐前端項目的RESTful服務或者基于Spring Cloud開發一套微服務,這些都離不開Spring Boot。
本書從實際應用出發,理論結合實例,深入淺出地對Spring Boot開發進行講解。實戰內容將貫穿全書,指導讀者通過動手實踐,從一行語句、一個方法到整個的項目,完整地理解Spring Boot開發的流程,從而獲得和提升Web應用開發的能力。
本書特色
1. 涵蓋Spring生態中的主流框架
框架的選擇需要足夠慎重,好的框架不僅能解決開發過程中的問題,還能保證在項目運行的過程中盡可能不制造新的問題。本書中包含Spring Boot整合各類框架的內容,這些框架基本來自于Spring團隊或是由Spring團隊所推薦的解決方案,足夠主流,也足夠可靠。
2. 根據程序實現經歷的周期展開對Spring Boot開發的講解
全書內容根據一個Web項目的實現周期展開,從前期的選型以及項目搭建到具體各種模塊的開發,從對程序的測試到最終項目的監控部署,完整地描述項目周期,為廣大讀者提供更多的視角,以提高本書的參考價值。
3. 講解過程中穿插實戰,覆蓋不同讀者群體
本書在講解過程中穿插著豐富的示例以及實戰內容。從本書的前半部開始,邊講解邊逐步完善一個博客程序;到本書最后的實戰階段,完整地實現三個實戰項目,并針對特定解決方案講解附加的示例代碼,相關源碼可通過網盤下載。這樣的方式既可以讓新手讀者逐行語句進行實踐,也可以讓基礎扎實的讀者了解與參考實現當中的細節。
4. 模塊驅動,應用性強
本書當中的解決方案根據需求與場景進行區分,可以根據需求快速閱讀并實踐,幫助讀者實實在在地解決問題。
本書內容體系
第1章 Spring Boot基礎知識
本章介紹Spring Boot開發有關的基礎知識。主要包含工具選擇、環境搭建、項目構建以及基礎的開發流程。本章的內容主要為了幫助讀者掌握Spring Boot開發所需的基本概念。
第2章 使用Spring Boot構建Web應用程序
本章介紹構建基于Spring Boot的單體應用所需掌握的基本知識。主要包括數據持久化、模板框架、文件上傳等內容。
第3章 創建RESTful Web服務
本章專注于講解如何構建一個RESTful Web服務。講解過程中將涉及HTTP的基礎概念以及RESTful Web服務的設計思路,幫助讀者在理解實現流程之外,還能理解承載這些解決方案的原理。
第4章 數據庫與持久化技術
本章著重探討數據持久化技術。依次講解了簡單易懂的JdbcTemplate、方便快捷的ORM解決方案JPA以及兩種不同的NoSQL——MongoDB和Redis。整個過程層層遞進,幫助讀者理解不同場景下該使用關系型數據庫還是非關系型數據庫,以及不同數據庫在Spring Boot中的調用方法。
第5章 應用程序安全性
本章的切入點是應用程序的安全。Spring Boot的安全可以通過整合Spring Security框架來實現。在介紹完Spring Security的整合流程之外,還介紹了Session-Cookie與Token兩種典型的鑒權模式。不同的鑒權模式之間并無絕對的優劣之分,與持久化技術一樣,沒有最好的方案,只有適合的方案。
第6章 自動化測試
自動化測試在開發過程中處于常常被人忽略的地位。一方面編寫完整有效的自動測試用例與編寫出可靠的程序一樣,需要耗費很大精力;另一方面,測試的收益并不明顯。本章介紹了不同粒度的自動化測試方案,闡述了自動化測試對整個項目的意義,并且講解了如何通過Spring Boot提供的測試框架快速實現測試用例。
第7章 運維與部署
Spring Boot不僅開發起來很高效,部署起來也非常友好。本章介紹Spring Boot支持的運維與部署方案以及開發者工具,幫助開發人員獲得更好的開發體驗。
第8章 實戰1:基于STOMP協議的聊天服務
本章開始便是本書的實戰環節,介紹如何從零到一地開發一個聊天服務,其中包含STOMP通信協議的原理以及后端服務的實現。
第9章 實戰2:在線商城
本章實戰內容主要關于如何實現一個商城服務。這類相對傳統的Web服務依賴于頁面的表現,在后端數據庫以及程序的設計外,還詳細介紹了模板引擎Thymeleaf的使用。
第10章 實戰3:個人云盤
個人云盤項目用到了成熟的第三方中間件MinIO,通過MinIO的存儲功能作為個人云盤的核心功能。為實現可快速重復地集成MinIO,本章還介紹如何針對第三方服務封裝Starter,通過引入Starter模塊實現對第三方服務的快速集成。
源碼下載與技術支持
本書配套的源碼,請用微信掃描右邊二維碼獲取,可按頁面提示,發到郵箱中下載。閱讀過程中如果有疑問,請聯系,郵件主題為“Spring Boot應用開發實戰”。
適合閱讀本書的讀者
? 需要全面學習Spring Boot開發技術的人員
? Web開發程序員
? Java程序員
? Java EE開發工程師
? 希望提高項目開發水平的人員
? 專業培訓機構的學員
? 軟件開發項目經理
? 需要一本案頭必備查詢手冊的人員

作者
2021年1月
內容簡介:

隨著移動互聯網的發展,對Web開發的需求日益上升。Spring Boot作為Web開發領域中的利器,無論是單體應用,還是用于面向服務架構或者微服務架構,都有不錯的表現。本書面向準備在Web開發領域一展拳腳的讀者,詳細介紹了Spring Boot 2.3應用開發的相關知識。
本書共10章,第1~2章介紹了Spring Boot 2.3開發基礎,包括環境搭建、依賴引入以及如何從零到一地構建一個基礎Spring Boot應用;第3~7章以章為單位聚焦不同技術領域,包括Web服務、數據持久化、服務安全性、測試驗證以及部署運維,結合詳細示例講解各領域內通用的解決方案;第8~10章為實戰內容,包括三種類型項目的實戰:聊天服務、在線商城、個人云盤。
本書內容全面、實例豐富,非常值得廣大Web開發從業者作為案頭的參考書,也可作為高等院校計算機及相關專業的教材或課程設計參考書。
目錄:

第1章SpringBoot基礎知識 1
1.1Spring與SpringBoot 1
1.1.1當我們談論Spring時會談論些什么 1
1.1.2什么是SpringBoot 2
1.1.3SpringBoot的優勢 3
1.2SpringBoot2.3開發環境 4
1.2.1選擇合適的JDK 4
1.2.2選擇趁手的IDE 5
1.2.3選擇適用于大型項目的自動化構建工具 7
1.3SpringInitializr初始化項目 8
1.3.1什么是SpringInitializr 8
1.3.2開始吧!start.spring.io 8
1.3.3使用IDE初始化SpringBoot工程 10
1.3.4初探SpringBootCLI 12
1.4SpringBoot目錄結構 13
1.4.1初始化的工程結構 13
1.4.2推薦的工程結構 15
1.4.3MavenWrapper讓構建工具隨源碼分發 17
1.5構建第一個SpringBoot項目 18
1.5.1經典“HelloWorld” 18
1.5.2使用JUnit5測試 19
1.5.3創建工具類CommonUtil 21
1.5.4使用JPA進行數據持久化 22
1.5.5修改控制器以及對應模板文件 25
1.5.6發布HTTP接口 29
1.6SpringBoot自動配置與外部配置 31
1.6.1自動配置 31
1.6.2外部配置 32
1.6.3命令行配置 32
1.6.4application.yaml/properties配置文件 33
第2章使用SpringBoot構建Web應用程序 36
2.1實體與數據持久化 36
2.1.1數據持久化框架 36
2.1.2什么是實體 37
2.1.3淺談SpringDataJPA 38
2.1.4使用Lombok簡化POJO 40
2.2MVC與模板引擎 42
2.2.1MVC架構 42
2.2.2Mustache模板引擎 42
2.2.3構建MVC架構的Web應用 46
2.3文件上傳與下載 50
2.3.1文件上傳 50
2.3.2文件下載 53
2.4SpringBoot日志 55
2.4.1使用預設配置 55
2.4.2基礎配置 56
2.4.3詳細配置 57
2.4.4Lombok注解:@Sl4j和@Commonslog 58
2.4.5在Windows平臺輸出彩色日志的JANSI 59
2.5過濾器與攔截器 59
2.5.1過濾器 60
2.5.2使用過濾器實現訪問控制 60
2.5.3攔截器 62
2.5.4使用攔截器記錄請求參數 63
2.6SpringBoot事件 64
2.6.1事件驅動模型 64
2.6.2內置事件 65
2.6.3監聽內置事件 65
2.6.4自定義事件 66
2.6.5異步事件 68
第3章創建RESTfulWeb服務 69
3.1HTTP動詞 69
3.1.1構建一個基礎的RESTfulWeb服務 70
3.1.2是GetMapping嗎?是RequestMapping 74
3.2請求與響應 76
3.2.1HTTP報文 76
3.2.2簡單請求與@RequestParam 77
3.2.3使用@PathVariable獲取URL中的參數 79
3.2.4借助@RequestHeader讀取請求頭 80
3.2.5@RequestBody與@ResponseBody 81
3.2.6使用ResponseEntity處理HTTP響應 82
3.3參數驗證 83
3.3.1基礎驗證BeanValidation 83
3.3.2高級驗證SpringValidation 84
3.3.3自定義校驗 86
3.4錯誤處理 88
3.4.1使用@ExceptionHandler處理異常 88
3.4.2使用HandlerExceptionResolver處理異常 89
3.4.3使用@ControllerAdvice處理異常 90
3.4.4拋出ResponseStatusException異常 92
3.5Swagger文檔 92
3.5.1Swagger/OpenAPI規范 92
3.5.2生成接口文檔 93
3.5.3使用注解生成文檔內容 94
第4章數據庫與持久化技術 97
4.1使用JdbcTemplate訪問關系型數據庫 97
4.1.1引入依賴 97
4.1.2準備數據 98
4.1.3queryForObject()方法 99
4.1.4使用RowMapper映射實體 99
4.1.5使用BeanPropertyRowMapper映射 100
4.1.6queryForList()方法 101
4.1.7不同的JDBCTemplate實現NamedParameterJdbcTemplate 101
4.1.8update()方法 102
4.2JPA與關系型數據庫 103
4.2.1什么是JPA 103
4.2.2再談SpringDataJPA 104
4.2.3基于JpaRepository接口查詢 106
4.2.4基于JpaSpecificationExecutor接口查詢 109
4.2.5基于JPQL或SQL 113
4.2.6多表連接 113
4.2.7級聯操作 117
4.2.8加載類型 117
4.3SpringDataMongoDB 118
4.3.1準備工作 118
4.3.2使用MongoTemplate訪問MongDB 120
4.3.3使用MongoRepository訪問MongoDB 124
4.4SpringDataRedis 125
4.4.1準備工作 125
4.4.2使用RedisRepository訪問Redis 126
4.4.3使用RedisTemplate訪問Redis 128
第5章應用程序安全性 130
5.1基于SpringSecurity的注冊登錄 130
5.1.1SpringSecurity簡介 130
5.1.2用戶注冊 131
5.1.3用戶登錄 133
5.1.4“記住我”功能 135
5.2權限管理 137
5.2.1權限與角色 137
5.2.2權限管理體系中的實體:用戶、角色與權限 137
5.2.3配置與應用 140
5.2.4權限管理注解 141
5.3Session-Cookie 143
5.3.1什么是Session-Cookie 143
5.3.2使用SpringSession管理Session 144
5.3.3Session并發配置 146
5.3.4強制下線 147
5.4JWT(JSONWebToken) 148
5.4.1關于JWT 148
5.4.2JWT工作流程 149
5.4.3SpringSecurity集成JWT 150
5.5OAuth2.0 156
5.5.1OAuth2.0簡介 156
5.5.2授權模式 157
5.5.3集成OAuth2.0實現SSO單點登錄 160
第6章自動化測試 164
6.1單元測試 164
6.1.1測試金字塔 164
6.1.2JUnit基礎 165
6.1.3JUnit5簡介 170
6.2斷言 172
6.2.1assert關鍵字 173
6.2.2JUnit4里的斷言 173
6.2.3assertThat方法 174
6.2.4自定義Hamcrest匹配器 175
6.2.5斷言框架AssertJ 177
6.3測試中的模擬行為Mock 179
6.3.1測試替身 179
6.3.2Mockito框架 180
6.4集成測試 183
6.4.1@WebMvcTest注解 183
6.4.2@DataJpaTest注解 187
6.4.3@SpringBootTest以及其他一些注解 189
第7章部署與運維 190
7.1發布與部署 190
7.1.1SpringBoot自身的打包方式1——可執行jar文件 190
7.1.2SpringBoot自身的打包方式2——部署于傳統Web容器的war格式 191
7.1.3更現代的發布流程1——基于Docker的發布與部署 193
7.1.4更現代的發布流程2——基于RPM的發布與部署 195
7.1.5多環境配置 197
7.2運行監控 198
7.2.1使用SpringBootActuator查看運行指標 199
7.2.2集成Prometheus 200
7.2.3Grafana實現可視化監控 203
7.3SpringBoot開發者工具 206
7.3.1整合spring-boot-devtools 206
7.3.2自動配置 207
7.3.3熱部署 207
7.3.4LiveReload插件支持靜態資源的及時更新 208
7.3.5全局配置 208
7.3.6遠程應用 209
第8章實戰1:基于STOMP協議的聊天服務 211
8.1架構設計 211
8.2框架搭建 212
8.3功能實現 214
8.3.1了解WebSocket協議 214
8.3.2HTTP請求升級至WebSocket的過程 215
8.3.3了解WebSocket應用場景 216
8.3.4集成WebSocket 216
8.3.5使用STOMP協議實現消息模塊 218
8.3.6模塊配置 225
8.3.7注冊登錄 227
8.3.8聊天記錄 230
8.3.9私聊功能 233
8.4測試與驗證 238
8.4.1集成測試 238
8.4.2手工測試 240
第9章實戰2:在線商城 245
9.1架構設計 245
9.2框架搭建 246
9.3數據庫設計 247
9.4功能實現 248
9.4.1模板引擎Thymeleaf 249
9.4.2實體類 253
9.4.3用戶注冊 256
9.4.4用戶登錄 260
9.4.5主頁以及商品列表 263
9.4.6購物車 266
9.4.7頁眉、導航條以及頁腳 271
9.5測試與驗證 272
9.5.1測試數據 273
9.5.2集成測試 274
9.5.3手工測試 276
第10章實戰3:個人云盤 281
10.1架構設計 281
10.2框架搭建 282
10.2.1MinIO與對象存儲 282
10.2.2MinIO部署與使用 283
10.2.3項目依賴項與軟件包結構 283
10.3數據庫設計 285
10.4功能實現 286
10.4.1MinIOJavaSDK簡介 286
10.4.2實現MinIOStarter 290
10.4.3實體類 294
10.4.4用戶注冊 296
10.4.5用戶登錄 298
10.4.6云盤主頁 300
10.4.7頁面配置 306
10.5測試與驗證 308
10.5.1集成測試 308
10.5.2手工測試 309
序: