Spring Boot 2實戰之旅 ( 簡體 字) |
作者:楊洋 | 類別:1. -> 程式設計 -> JAVA -> Spring |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 51517 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:8/1/2019 |
頁數:374 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302531623 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:微服務一詞相信對很多開發者來說已經耳熟能詳了。在我曾經工作的公司,還是使用單體項目來部署時,無論是打包還是運行都耗時耗力,這一直讓我很苦惱。同時,每次需要創建新應用、構建項目配置Spring的時候也十分麻煩。一次偶然的情況,我接觸了Spring Boot框架,開始對其“約定優先配置”的特性著迷了。這個由Pivotal團隊進行維護開發的Spring Boot,版本更迭非常快,社區活躍度很高。我在閑暇之余查閱了國內很多招聘網站,原來已經有很多公司將Spring Boot作為必備技能。 此后,我花費了很長的時間翻看技術博客、官方文檔等,深入學習Spring Boot框架。在公司接下來的項目中,都以Spring Boot為主來構建項目,并且成功地將很多使用Spring Boot的項目投入生產,Spring Boot框架的快速構建與部署與公司快速迭代版本的風格完美呼應。這是Spring Boot值得學習的一大原因。 本書沿襲我學習Spring Boot的路線,使用Spring Boot與當今常用的中間件結合,并且配備對應的實例代碼。最后的兩章項目實戰是對Spring Boot的學習之路做出總結,為本書畫上一個圓滿的句號。希望讀者閱讀本書后能夠有所收獲。 如何閱讀本書 在閱讀本書的過程中,建議對照源代碼按順序學習。當然,如果對部分章節的內容比較熟悉,也可以直接跳過,學習需要鞏固的章節。本書內容共分為14章,開發工具使用IntelliJ IDEA,Spring Boot版本為2.0.3,各章節內容說明如下: 第1章介紹Spring Boot框架的特點以及學習它的重要性,最后列出Spring Boot的歷史版本,讓讀者對Spring Boot有一個大致的了解。 第2章介紹如何搭建Spring Boot的開發環境,通過使用IntelliJ IDEA構建Spring Boot項目,并且對Spring Boot項目的基礎結構進行介紹。 第3章介紹如何使用Spring Boot開發Web應用,了解Spring MVC和Spring Web Flux的不同,最后學習Spring Boot的一些Web模板框架,讓讀者可以對Spring Boot開發Web應用游刃有余。 第4章和第5章都是基于Spring Boot對數據庫的使用進行學習。其中,第4章從Spring Boot使用各種數據庫的依賴和配置開始介紹,然后介紹當今Java語言流行的ORM框架的使用,最后學習Spring Boot使用Druid數據庫連接池。第5章介紹Spring Boot常用緩存框架,最后對Redis和Memcached進行比較,讓讀者選擇緩存時有一定的基礎。 第6章介紹Spring Boot對幾種常用日志框架的使用,最后介紹分布式情況下如何使用ELK進行日志收集。 第7章介紹當今比較常用的兩種安全框架,并且使用詳細的案例對二者進行運用。 第8章介紹Spring Boot如何進行監控,涉及當今Spring Boot框架常用的監控,使讀者對Spring Boot的運行狀態更加了解。 第9章介紹Spring Boot如何使用消息隊列,分別從RabbitMQ、Kafka和RocketMQ的使用實例進行介紹,最后對三者進行比較,讓讀者在選擇消息隊列時有一定的借鑒。 第10章對Spring Boot的兩大常用搜索框架進行詳細的介紹,從普通增、刪、改、查到復雜查詢,讓讀者使用搜索框架時不再茫然。 第11章介紹使用Spring Boot時的一些小技巧,比如啟動Banner、Lombok、郵件發送、事務、異常等。雖然知識略微零散,但是都是實用的技巧。 第12章介紹Spring Boot的多種部署方式,讓讀者可以根據實際情況部署自己的應用程序。 第13章和第14章分別使用博客系統和博客后臺系統對Spring Boot的使用進行綜合實戰,這兩個實戰案例是對本書內容的總結。 本書讀者對象 ? 初學者 ? Java開發人員 ? 架構師 ? Spring愛好者 本書技術支持 非常感謝大家能夠購買和閱讀本書。雖然完成本書盡了筆者最大的努力,但是由于筆者的精力和能力有限,在編寫過程中難免會有一些疏漏和不足之外,希望各位讀者不吝指正。關于本書的任何問題都可以發送電子郵件與我交流。 源代碼下載 本書所有源代碼均上傳至碼云。如果下載有問題,請發送電子郵件,郵件主題為“求Spring Boot 2實戰之旅下載資源”。 致謝 在編寫本書時,我得到了很多人的幫助。 首先,感謝我的妻子,在我遇到困難時給予鼓勵,在我迷茫時的開導,謝謝她在我編寫本書的過程中承擔了所有家務,并且不遺余力地支持我。 其次,感謝我的父母,感謝他們從小對我的撫育與培養,感謝他們對我事業的支持。 另外,還需要感謝一下泥瓦匠在百忙之中對本書的細心校對,讓本書的一些細節更加完善。 最后,感謝清華大學出版社的王金柱編輯,感謝您在本書編寫、出版整個過程中的辛勤付出。也要感謝清華大學出版社所有參與本書編輯和出版的老師們,感謝大家對本書的幫助。
楊 洋 2019年3月1日 |
內容簡介:Spring Boot框架是目前微服務框架的最佳選擇之一。本書采用Spring Boot 2.0.3版本講解,從零起步系統深入地剖析了Spring Boot的核心技術。從功能點出發,每一章都是不同的Spring Boot應用之旅。全書分為14章,第1章和第2章是學習Spring Boot的入門階段,從Spring Boot簡介到開發環境部署等,讓讀者對Spring Boot有一個初步的認識;第3章到第10章是Spring Boot的融合階段,介紹了Spring Boot搭建Web項目、操作數據庫、使用緩存、日志、整合安全框架、結合消息隊列和搜索框架,這些都是日常開發中一定會用到的內容,經過這個階段的學習,會讓讀者熟練地運用Spring Boot進行敏捷開發。第11章和第12章是Spring Boot的拓展階段,主要介紹了Spring Boot的一些常用的功能和如何在實際應用中的部署。第13章和第14章是Spring Boot的實戰階段,經過這兩章的學習,使讀者對Spring Boot的運用更加熟練,掌握實際項目的開發技能。 本書的特點是示例代碼豐富,實用性和系統性較強,讀者可以直接還原書中的示例。本書適用于初學者、Java開發人員、Spring愛好者和架構師。 |
目錄:第1章SpringBoot概述 1 1.1SpringBoot簡介 1 1.2SpringBoot的特點 2 1.2.1快速構建項目 2 1.2.2嵌入式Web容器 3 1.2.3易于構建任何應用 3 1.2.4自動化配置 3 1.2.5開發者工具 4 1.2.6強大的應用監控 4 1.2.7默認提供測試框架 4 1.2.8可執行Jar部署 4 1.2.9IDE多樣性 4 1.3為什么要學習SpringBoot 5 1.3.1簡化工作 5 1.3.2微服務時代 5 1.3.3社區背景強大 6 1.3.4市場需求 6 1.4SpringBoot的發展歷史 7 1.4.1發布里程碑(2013.8.6) 7 1.4.2SpringBoot1.0(2014.4) 7 1.4.3SpringBoot1.1(2014.6) 8 1.4.4SpringBoot1.2(2015.3) 8 1.4.5SpringBoot1.3(2016.12) 8 1.4.6SpringBoot1.4(2017.1) 8 1.4.7SpringBoot1.5(2017.2) 9 1.4.8SpringBoot2.0(2018.3) 9 1.5小結 10 第2章走進SpringBoot 11 2.1環境搭建 11 2.1.1JDK安裝 11 2.1.2IntelliJIDEA的安裝 12 2.1.3Maven的安裝 12 2.1.4IntelliJIDEA內配置JDK和 Maven 15 2.2新建SpringBoot項目 16 2.2.1開始創建項目 16 2.2.2配置JDK版本和InitializrServiceURL 17 2.2.3配置ProjectMetadata信息 17 2.2.4配置SpringBoot版本及默認 引入組件 18 2.2.5配置項目名稱和項目位置 18 2.3項目工程介紹 19 2.3.1Java類文件 20 2.3.2資源文件 20 2.3.3測試類文件 20 2.3.4pom文件 21 2.4運行項目 22 2.5小結 22 第3章SpringBoot的Web之旅 23 3.1SpringBoot的第一個Web項目 23 3.1.1加入Web依賴 23 3.1.2創建Controller 23 3.1.3測試運行 24 3.2WebFlux的使用 25 3.2.1添加WebFlux依賴 25 3.2.2創建一個處理方法類 26 3.2.3創建一個Router類 26 3.2.4測試運行 27 3.3使用熱部署 27 3.4配置文件 28 3.4.1配置文件類型 28 3.4.2自定義屬性 28 3.4.3使用隨機數 29
3.4.4多環境配置 31 3.4.5自定義配置文件 31 3.5使用頁面模板 32 3.5.1使用Thymeleaf 32 3.5.2使用FreeMarker 35 3.5.3使用傳統JSP 37 3.6使用WebJars 39 3.7國際化使用 41 3.8文件的上傳和下載 44 3.9小結 48 第4章SpringBoot的數據庫之旅 49 4.1使用數據庫 49 4.1.1使用MySQL數據庫 49 4.1.2使用SQLServer數據庫 50 4.1.3使用Oracle數據庫 51 4.1.4使用MongoDB數據庫 55 4.1.5使用Neo4j數據庫 56 4.1.6使用Redis數據庫 57 4.1.7使用Memcached數據庫 58 4.2使用JDBC操作數據庫 58 4.2.1JDBC依賴配置 59 4.2.2配置數據庫信息 59 4.2.3創建實體類 60 4.2.4使用Controller進行測試 60 4.3使用JPA操作數據庫 68 4.3.1JPA介紹 68 4.3.2JPA依賴配置 68 4.3.3配置文件 69 4.3.4創建實體對象 69 4.3.5創建數據操作層 71 4.3.6簡單測試運行 73 4.3.7JPA擴展學習 74 4.3.8基于WebFlux的使用 75 4.4使用MyBatis操作數據庫 80 4.4.1MyBatis簡介 80 4.4.2MyBatis依賴配置 80 4.4.3配置文件 80 4.4.4基于XML的使用 82 4.4.5基于注解使用 85 4.4.6測試運行 85 4.4.7Mybatis-Generator插件學習 87 4.4.8PageHelper插件 96 4.4.9Mybatis-Plus插件 97 4.5配置多數據源 101 4.5.1多數據源情況分析 102 4.5.2配置多數據源 102 4.5.3基于JPA使用多數據源 105 4.5.4基于MyBatis使用多數據 106 4.6使用Druid數據庫連接池 108 4.6.1Druid簡介 108 4.6.2配置Druid 109 4.6.3操作數據庫 114 4.6.4Druid監控頁面介紹 115 4.7小結 121 第5章SpringBoot的緩存之旅 122 5.1使用SpringCache 122 5.1.1SpringCache簡介 122 5.1.2配置SpringCache依賴 124 5.1.3測試運行 125 5.1.4驗證緩存 126 5.2使用Redis 127 5.2.1Redis簡介 127 5.2.2項目配置 127 5.2.3測試運行 129 5.2.4使用Redis緩存 130 5.3使用Memcached 132 5.3.1Memcached簡介 132 5.3.2配置Memcached依賴 132 5.3.3使用Memcached緩存 137 5.3.4Redis與Memcached的區別 138 5.4小結 138 第6章SpringBoot的日志之旅 139 6.1Logback日志 139 6.1.1Logback簡介 139 6.1.2日志格式 140 6.1.3控制臺輸出 140 6.1.4日志文件輸出 141 6.1.5日志級別 141 6.1.6日志配置 142 6.1.7基于XML配置日志 142 6.2Log4j日志 145 6.2.1Log4j簡介 146 6.2.2SpringBoot使用Log4j 146 6.2.3控制臺輸出 146 6.2.4日志文件輸出 147 6.3Log4j2日志 148 6.3.1Log4j2簡介 148 6.3.2SpringBoot使用Log4j2 150 6.3.3控制臺輸出 151 6.3.4日志文件輸出 152 6.3.5異步日志 152 6.4ELK日志收集 155 6.4.1ELK日志收集流程介紹 155 6.4.2ELK安裝 155 6.4.3ELK配置 157 6.4.4使用Kibana查看日志 159 6.4.5SpringBoot直接輸出到 Logstash 162 6.4.6ELK日志收集優化方案及 建議 163 6.5小結 164 第7章SpringBoot的安全之旅 165 7.1使用Shiro安全管理 165 7.1.1什么是Shiro 165 7.1.2使用Shiro做權限控制 167 7.2使用SpringSecurity 177 7.2.1SpringSecurity簡介 177 7.2.2使用SpringSecurity做權限 控制 178 7.3小結 184 第8章SpringBoot的監控之旅 185 8.1使用actuator監控 185 8.1.1actuator是什么 185 8.1.2如何使用actuator 185 8.1.3actuator監控介紹 186 8.1.4保護HTTP端點 188 8.1.5健康信息 190 8.1.6自定義應用程序信息 192 8.1.7自定義管理端點路徑 192 8.2使用Admin監控 193 8.2.1什么是SpringBootAdmin 193 8.2.2設置SpringBootAdmin Server 193 8.2.3SpringCloudEureka 194 8.2.4SpringBootAdminClient的 使用 197 8.2.5安全驗證 202 8.2.6JMX-bean管理 203 8.2.7通知 203 8.3Prometheus+Grafana監控 207 8.3.1Prometheus的安裝 207 8.3.2Grafana的安裝 208 8.3.3SpringBoot項目使用 Prometheus 208 8.3.4Prometheus配置 210 8.3.5啟動Grafana 211 8.4小結 213 第9章SpringBoot的消息之旅 214 9.1RabbitMQ消息隊列 214 9.1.1RabbitMQ介紹 214 9.1.2RabbitMQ的幾種角色 215 9.1.3RabbitMQ的幾種模式 216 9.1.4SpringBoot使用RabbitMQ 218 9.2Kafka消息隊列 226 9.2.1Kafka介紹 226 9.2.2SpringBoot使用Kafka 228 9.3RocketMQ消息隊列 230 9.3.1RocketMQ介紹 230 9.3.2SpringBoot使用RocketMQ 231 9.4消息隊列對比 236 9.5小結 238 第10章SpringBoot的搜索之旅 239 10.1使用Solr 239 10.1.1Solr簡介 239 10.1.2SpringBoot使用Solr 240 10.2使用Elasticsearch 246 10.2.1Elasticsearch簡介 246 10.2.2SpringBoot使用 Elasticsearch 246 10.2.3使用ElasticsearchRepository 進行操作 247 10.2.4使用ElasticsearchTemplate 進行操作 248 10.2.5非聚合查詢 249 10.2.6聚合查詢 251 10.2.7復雜查詢練習 252 10.3搜索引擎對比 256 10.3.1技術背景 256 10.3.2熱度比較 258 10.3.3集群部署 259 10.3.4數據格式 259 10.3.5效率 259 10.4小結 259 第11章SpringBoot的小彩蛋 260 11.1修改啟動Banner 260 11.1.1啟動Banner介紹 260 11.1.2啟動Banner修改 263 11.2使用LomBok讓編程更簡單 264 11.2.1什么是LomBok 264 11.2.2IntelliJIDEA安裝Lombok 插件 264 11.2.3如何使用LomBok 265 11.3郵件發送 266 11.3.1在SpringBoot中使用郵件 發送 266 11.3.2基礎配置信息 267 11.3.3文本郵件發送 268 11.3.4網頁郵件發送 269 11.3.5附件郵件發送 270 11.3.6嵌入靜態資源郵件發送 271 11.4三“器”的使用 272 11.4.1過濾器 272 11.4.2攔截器 274 11.4.3監聽器 275 11.4.4SpringBoot引用三“器” 276 11.4.5測試 277 11.5事務使用 278 11.5.1事務介紹 278 11.5.2在項目中使用事務 279 11.5.3Spring事務拓展介紹 280 11.6統一處理異常 282 11.6.1異常介紹 282 11.6.2Java異常分類 282 11.6.3SpringBoot中統一處理 異常 284 11.7使用AOP 284 11.7.1AOP介紹 285 11.7.2SpringBoot使用AOP 285 11.8使用validator后臺校驗 288 11.9使用Swagger構建接口文檔 291 11.9.1什么是Swagger 291 11.9.2Swagger2注解介紹 291 11.9.3SpringBoot使用Swagger 293 11.10使用ApiDoc構建接口文檔 298 11.10.1如何使用ApiDoc接口 文檔 298 11.10.2ApiDoc常用注解 298 11.10.3SpringBoot使用ApiDoc 299 11.11小結 302 第12章SpringBoot打包部署 303 12.1使用IDE啟動 303 12.1.1運行SpringBoot應用程序 303 12.1.2IntelliJIDEA啟動多實例 304 12.2使用Maven啟動 305 12.3JAR形式啟動 305 12.3.1使用命令將SpringBoot應用 程序打成JAR 305 12.3.2IntelliJIDEA打JAR包 306 12.4War形式啟動 307 12.4.1創建項目 307 12.4.2打War包部署到Tomcat 308 12.5使用Docker構建SpringBoot 項目 308 12.5.1Docker簡介 309 12.5.2安裝Docker 309 12.5.3Dockerfile 309 12.5.4運行Docker鏡像 310 12.6使用Jenkins自動化部署Spring Boot應用 311 12.6.1Jenkins簡介 311 12.6.2SpringBoot應用使用 Jenkins 311 12.7小結 317 第13章SpringBoot實戰之博客 系統 318 13.1博客的制作思路 318 13.1.1博客布局介紹 318 13.1.2博客功能介紹 319 13.2博客模板制作 320 13.3效果展示 325 13.4依賴配置 328 13.5配置文件 329 13.6后臺實體 330 13.6.1文章表 330 13.6.2標簽表 332 13.6.3鏈接表 333 13.6.4消息表 333 13.6.5博客訪問記錄表 334 13.6.6博客配置表 335 13.7主功能 336 13.7.1博客頁 336 13.7.2搜索頁 339 13.7.3文章詳情頁 341 13.7.4聯系頁 343 13.8輔助功能 344 13.8.1攔截器 344 13.8.2定時器 345 13.8.3初始化 346 13.9小結 347 第14章SpringBoot實戰之博客后臺 系統 350 14.1博客后臺的制作思路 350 14.1.1博客后臺布局介紹 350 14.1.2博客功能介紹 351 14.2博客后臺模板制作 352 14.3效果展示 352 14.4依賴配置 356 14.5配置文件 358 14.6后臺實體 359 14.6.1用戶表 359 14.6.2角色表 360 14.7主功能 361 14.7.1首頁 362 14.7.2文章管理 363 14.8輔助功能 368 14.8.1攔截器 368 14.8.2定時器 369 14.8.3認證和授權 370 14.8.4工具類 373 14.8.5初始化方法 373 14.9小結 374 參考文獻 375 |
序: |