SpringBoot框架能夠說是目前微服務框架的最佳選擇之一,本書以SpringBoot2.0.3版本爲例,從0到1對SpringBoot進行了系統的學習。從功能點來看,幾乎每一章都是一場不一樣的SpringBoot之旅。html
本書共分爲14章,第1章和第2章是學習SpringBoot的入門階段,從SpringBoot簡介、發展史到開發環境部署等,讓讀者對Spring Boot有一個初步的認識。git
第3章到第10章是SpringBoot的融合階段,介紹了Spring Boot搭建Web項目、操做數據庫、使用緩存、日誌、整合安全框架、結合消息隊列和搜索框架,這些都是平常開發中必定會用到的內容,通過這個階段的學習,會讓讀者能夠熟練的運用SpringBoot進行敏捷開發。spring
第11章和第12章是學習SpringBoot的拓展階段,主要介紹了SpringBoot的一些經常使用的小功能和如何在實際應用中部署運用。數據庫
第13章和第14章是學習SpringBoot的實戰階段,通過這兩章的學習,能夠對Spring Boot的運用更加熟練,更加貼近真實應用。編程
本書的特色是示例代碼豐富,實用性和系統性較強,讀者能夠直接還原書中示例,本書主要適用於初學者、Java開發人員、Spring愛好者和架構師。緩存
封面圖:安全
如下是一些實物圖:springboot
其中,實物圖1-4使用的當當網圖片,5爲家中所拍。微信
第1章 Spring Boot概述 1.1 SpringBoot簡介 1.2 SpringBoot特色 1.2.1 快速構建項目 1.2.2 嵌入式Web容器 1.2.3 易於構建任何應用 1.2.4 自動化配置 1.2.5 開發者工具 1.2.6 強大的應用監控 1.2.7 默認提供測試框架 1.2.8 可執行Jar部署 1.2.9 IDE多樣性 1.3 爲何要學習Spring Boot 1.3.1 簡化工做 1.3.2 微服務時代 1.3.3 社區背景強大 1.3.4 市場需求 1.4 Spring Boot發展歷史 1.4.1 發佈里程碑(2013.8.6) 1.4.2 SpringBoot 1.0(2014.4) 1.4.3 SpringBoot 1.1(2014.6) 1.4.4 SpringBoot 1.2(2015.3) 1.4.5 Spring Boot 1.3(2016.12) 1.4.6 Spring Boot 1.4(2017.1) 1.4.7 Spring Boot 1.5(2017.2) 1.4.8 Spring Boot 2.0(2018.3) 1.5 小結 第2章 走進Spring Boot 2.1 環境搭建 2.1.1 JDK安裝 2.1.2 IntelliJ IDEA安裝 2.1.3 Maven安裝 2.1.4 IntelliJ IDEA內配置JDK和Maven 2.2 新建SpringBoot項目 2.2.1 開始建立項目 2.2.2 配置JDK版本和Initializr Service URL 2.2.3 配置Project Metadata信息 2.2.4 配置SpringBoot版本、默認引入組件 2.2.5 配置項目名稱和項目位置 2.3 項目工程介紹 2.3.1 Java類文件 2.3.2 資源文件 2.3.3 測試類文件 2.3.4 pom文件 2.4 運行項目 2.5 小結 第3章 Spring Boot的Web之旅 3.1 Spring Boot的第一個Web項目 3.1.1 加入Web依賴 3.1.2 建立Controller 3.1.3 測試運行 3.2 WebFlux使用 3.2.1 添加WebFlux依賴 3.2.2 建立一個處理方法類 3.2.3 建立一個Router類 3.2.4 測試運行 3.3 使用熱部署 3.4 配置文件學習 3.4.1 配置文件類型 3.4.2 自定義屬性 3.4.3 使用隨機數 3.4.4 多環境配置 3.4.5 自定義配置文件 3.5.1 使用Thymeleaf 3.5.2 使用FreeMarker 3.5.3 使用傳統JSP 3.6 使用WebJars 3.7 國際化使用 3.8 文件上傳下載 3.9 小結 第4章 Spring Boot的數據庫之旅 4.1 使用數據庫 4.1.1 使用MySQL數據庫 4.1.2 使用SQL Server數據庫 4.1.3 使用Oracle數據庫 4.1.4 使用MongoDB數據庫 4.1.5 使用Neo4j數據庫 4.1.6 使用Redis數據庫 4.1.7 使用Memcached數據庫 4.2 使用JDBC操做數據庫 4.2.1 JDBC依賴配置 4.2.2 配置數據庫信息 4.2.3 建立實體類 4.2.4 使用Controller進行測試 4.3 使用JPA操做數據庫 4.3.1 JPA介紹 4.3.2 JPA依賴配置 4.3.3 配置文件 4.3.4 建立實體對象 4.3.5 建立數據操做層 4.3.6 簡單測試運行 4.3.7 JPA擴展學習 4.3.8 基於WebFlux使用 4.4 使用MyBatis操做數據庫 4.4.1 MyBatis簡介 4.4.2 MyBaties依賴配置 4.4.3 配置文件 4.4.4 基於XML使用 4.4.5 基於註解使用 4.4.6 測試運行 4.4.7 Mybatis-Generator插件學習 4.4.8 PageHelper插件學習 4.4.9 Mybatis-Plus插件學習 4.5 配置多數據源 4.5.1 多數據源狀況分析 4.5.2 配置多數據源 4.5.3 基於JPA使用多數據 4.5.4 基於MyBatis使用多數據 4.6 使用Druid數據庫鏈接池 4.6.1 Druid簡介 4.6.2 配置Druid 4.6.3 操做數據庫 4.6.4 Druid監控頁面介紹 4.7 小結 第5章 Spring Boot的緩存之旅 5.1 使用SpringCache 5.1.1 SpringCache簡介 5.1.2 配置SpringCache依賴 5.1.3 測試運行 5.1.4 驗證緩存 5.2 使用Redis 5.2.1 Redis簡介 5.2.2 項目配置 5.2.4 使用Redis緩存 5.3 使用Memcached 5.3.1 Memcached簡介 5.3.2 配置Memcached依賴 5.3.3 使用Memcached緩存 5.3.4 Redis與Memcached的區別 5.4 小結 第6章 Spring Boot的日誌之旅 6.1 Logback日誌 6.1.1 Logback簡介 6.1.2 日誌格式 6.1.3 控制檯輸出 6.1.4 日誌文件輸出 6.1.5 日誌級別 6.1.6 日誌配置 6.1.7 基於xml配置日誌 6.2 log4j日誌 6.2.1 log4j簡介 6.2.2 SpringBoot使用log4j 6.2.3 控制檯輸出 6.2.4 日誌文件輸出 6.3 log4j2日誌 6.3.1 log4j2簡介 6.3.2 SpringBoot使用log4j2 6.3.3 控制檯輸出 6.3.4 日誌文件輸出 6.3.5 異步日誌 6.4 ELK日誌收集 6.4.1 ELK日誌收集流程介紹 6.4.2 ELK安裝 6.4.3 ELK配置 6.4.3 使用Kibana查看日誌 6.4.4 SpringBoot直接輸出到Logstash 6.4.5 ELK日誌收集優化方案及建議 6.5 小結 第7章 Spring.Boot的安全之旅 7.1 使用shiro安全管理 7.1.1 什麼是shiro 7.1.2 使用shiro作權限控制 7.2 使用SpringSecurity 7.2.1 SpringSecurity簡介 7.2.2 使用SpringSecurity作權限控制 7.3 小結 第8章 Spring Boot的監控之旅 8.1 使用Actuator監控 8.1.1 Actuator是什麼? 8.1.2 如何使用Actuator 8.1.3 Actuator監控介紹 8.1.4 保護HTTP端點 8.1.5 健康信息 8.1.6 自定義應用程序信息 8.1.7 自定義管理端點路徑 8.2 使用Admin監控 8.2.1 什麼是SpringBoot Admin? 8.2.2 設置SpringBoot Admin Server 8.2.3 SpringCloud Eureka 8.2.4 Spring Boot Admin Client使用 8.2.5 安全驗證 8.2.6 JMX-bean管理 8.2.7 通知 8.3 Prometheus+Grafana監控 8.3.1 Prometheus安裝 8.3.2 Grafana安裝 8.3.3 Spring Boot項目使用Prometheus 8.3.4 Prometheus配置 8.3.5 啓動Grafana 8.4 小結 第9章 Spring Boot的消息之旅 9.1 RabbitMQ消息隊列 9.1.1 RabbitMQ介紹 9.1.2 RabbitMQ的幾種角色 9.1.3 RabbitMQ的幾種模式 9.1.2 Spring Boot使用RabbitMQ 9.2 Kafka消息隊列 9.2.1 Kafka介紹 9.2.2 Spring Boot使用Kafka 9.3 RocketMQ消息隊列 9.3.1 RocketMQ介紹 9.3.2 Spring Boot使用RocketMQ 9.4 消息隊列對比篇 9.5 小結 第10章 Spring Boot的搜索之旅 10.1 使用Solr 10.1.1 Solr簡介 10.1.2 Spring Boot使用Solr 10.2 使用ElasticSearch 10.2.1 ElasticSearch簡介 10.2.2 Spring Boot使用ElasticSearch 10.2.3 使用ElasticsearchRepository進行操做 10.2.4 使用ElasticsearchTemplate進行操做 10.2.5 非聚合查詢 10.2.6 聚合查詢 10.2.7 複雜查詢練習 10.3 搜索引擎對比篇 10.3.1 技術背景 10.3.2 熱度比較 10.3.3 集羣部署 10.3.4 數據格式 10.3.5 效率 10.4 小結 第11章 Spring Boot的小彩蛋 11.1 修改啓動Banner 11.1.1 啓動Banner介紹 11.1.2 啓動Banner修改 11.2 使用LomBok讓編程更簡單 11.2.1 什麼是LomBok? 11.2.2 IntelliJ IDEA安裝Lombok插件 11.2.3 如何使用LomBok? 11.3 郵件發送 11.3.1 Spring Boot使用郵件發送 11.3.2 基礎配置信息 11.3.3 文本郵件發送 11.3.4 網頁郵件發送 11.3.5 附件郵件發送 11.3.6 嵌入靜態資源郵件發送 11.4 三「器」使用 11.4.1 過濾器 11.4.2 攔截器 11.4.3 監聽器 11.4.4 Spring Boot引用三「器」 11.4.5 測試 11.5 事務使用 11.5.1 事務介紹 11.5.2 項目中使用事務 11.5.3 Spring事務拓展介紹 11.6 統一處理異常 11.6.1 異常介紹 11.6.2 Java異常分類 11.6.3 Spring Boot中統一處理異常 11.7 使用AOP 11.7.1 AOP介紹 11.7.2 Spring Boot使用AOP 11.8 使用validator後臺校驗 11.9 使用Swagger構建接口文檔 11.9.1 什麼是Swagger 11.9.2 Swagger2註解介紹 11.9.3 SpringBoot使用Swagger 11.10 使用ApiDoc構建接口文檔 11.10.1 如何使用ApiDoc接口文檔 11.10.2 ApiDoc經常使用註解 11.10.3 SpringBoot使用ApiDoc 11.11 小結 第12章 Spring Boot打包部署 12.1 使用IDE啓動 12.1.1 運行Spring Boot應用程序 12.1.2 IntelliJ IDEA啓動多實例 12.2 使用Maven啓動 12.3 Jar形式啓動 12.3.1 命令形式將Spring Boot應用程序打成Jar 12.3.2 IntelliJ IDEA打Jar包 12.4 War形式啓動 12.4.1 建立項目 12.4.2 打War包部署到Tomcat 12.5 使用Docker構建Spring Boot項目 12.5.1 Docker簡介 12.5.2 安裝Docker 12.5.3 Dockerfile 12.5.5 運行Docker鏡像 12.6 使用Jenkins自動化部署Spring Boot應用 12.6.1 Jenkins簡介 12.6.2 SpringBoot應用使用Jenkins 12.7 小結 第13章 Spring Boot實戰之博客系統 13.1 博客的製做思路 13.1.1 博客佈局介紹 13.1.2 博客功能介紹 13.2 博客模板製做 13.3 效果展現 13.4 依賴配置 13.5 配置文件 13.6 後臺實體 13.6.1 文章表 13.6.2 標籤表 13.6.3 連接表 13.6.4 消息表 13.6.5 博客訪問記錄表 13.6.6 博客配置表 13.7 主功能 13.7.1 博客頁 13.7.2 搜索頁 13.7.3 文章詳情頁 13.7.4 聯繫頁 13.8 輔助功能 13.8.1 攔截器 13.8.2 定時器 13.8.3 初始化 13.9 小結 第14章 Spring Boot實戰之博客後臺系統 14.1 博客後臺的製做思路 14.1.1 博客後臺佈局介紹 14.1.2 博客功能介紹 14.2 博客後臺模板製做 14.3 效果展現 14.4 依賴配置 14.5 配置文件 14.6 後臺實體 14.6.1 用戶表 14.6.2 角色表 14.7 主功能 14.7.1 首頁 14.7.2 文章管理 14.8 輔助功能 14.8.1 攔截器 14.8.2 定時器 14.8.3 認證和受權 14.8.4 工具類 14.8.5 初始化方法 14.9 小結架構
大老楊這本書,是我花了3天時間審校的。全書沒有廢話,一切從代碼案例出發,記錄了各類坑的解決方法,是Sprimg Boot初學者及核心技術鞏固的最佳實踐。 ——泥瓦匠
知易行難,最難的是深刻淺出把本身的經驗分享給你們,由於你不但要客觀的講述技術自己,還要公正的加入本身的理解,須要編者較高的眼界和大局觀。在我認識的人中,有豐富的項目經驗又願意花時間在教學實踐上,最終能把各類知識理論體系化的人聊聊無幾,楊洋老師剛好這幾點都具有。快速翻完整本書,句裏行間沒有華麗的辭藻,字字出自於實踐,讓我受益不淺。 ——知乎讀者 謝悅
一次偶然的機會認識了大老楊,他一直致力於把本身的實踐經驗分享給更多熱愛技術的人,Spring Boot雖然簡化了配置,可是可能形成錯誤的沒法捕捉,一個小坑可能讓你步履維艱,這本書包含了開發中常常遇到的細節問題,無疑是開發者手裏的Spring Boot良師益友。相信你經過大老楊這本書的學習,會讓本身的架構路上一路小平坡。
——李明(諸葛阿明),公衆號:編程坑太多
現在微服務如日中天,Spring Boot做爲構建Spring Cloud全家桶的基礎框架,Java 開發者必需要作到對Spring Boot運用自如。本書很是全面地對Spring Boot進行了深度剖析,從背景介紹到詳細使用再到項目實戰,環環相扣,是一本不可多得的好書。 ——尹吉歡,《Spring Cloud 微服務:全棧技術與案例解析》一書做者,公衆號「猿天地」運營者。
本書全面介紹了使用 Spring Boot 2.x 技術,而且帶來了從零到1的實戰之旅。本書能夠幫助讀者快速入門並掌握Spring Boot這門技術,閱讀本書,對讀者必有裨益。 ——梁桂釗(公衆號「服務端思惟」、《高可用可伸縮微服務架構: 基於 Dubbo、Spring Cloud和Service Mesh》聯合做者)
本書對全部文章對應配置了源碼,方便讀者進行學習,源碼地址是:gitee.com/dalaoyang/s…
如今各大電商網站都已經上架了本書,並且都是現貨發售,至於去哪一個途徑購買,讀者能夠自行選擇,如如下自營渠道:
若是文章內有任何錯誤 ,能夠在本文下方留言反饋 ,也能夠加我微信反饋給我本人(微信號dawanzi520),謝謝你們。