Spring Boot 2精髓:從構建小係統到架構分布式大係統
作 譯 者:李傢智
齣版時間:2017-10 韆 字 數:460
版 次:01-01 頁 數:384
開 本:16開
裝 幀:
I S B N :9787121328251
換 版:
所屬分類:科技 >> 計算機 >> 網絡與互聯網
紙質書定價:¥79.0
Spring Boot是目前Spring技術體係中炙手可熱的框架之一,既可用於構建業務復雜的企業應用係統,也可以開發高性能和高吞吐量的互聯網應用。Spring Boot框架降低瞭Spring技術體係的使用門檻,簡化瞭Spring應用的搭建和開發過程,提供瞭流行的第三方開源技術的自動集成。本書係統介紹瞭Spring Boot 2的主要技術,側重於兩個方麵,一方麵是極速開發一個Web應用係統,詳細介紹Spring Boot框架、Spring MVC、視圖技術、數據庫訪問技術,並且介紹多環境部署、自動裝配、單元測試等高級特性;另一方麵,當係統模塊增加,性能和吞吐量要求增加時,如何平滑地用Spring Boot實現分布式架構,也會在本書後半部分介紹,包括使用Spring實現RESTful架構,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技術,使用Spring Session實現係統水平擴展,使用Spring Cache提高係統性能。
第1章 Java EE簡介
1.1 Java EE
1.1.1 Java EE架構
1.1.2 Java EE的缺點
1.2 Spring
1.2.1 Spring IoC容器和AOP
1.2.2 Spring的缺點
1.3 Spring Boot
1.4 Hello,Spring Boot
1.4.1 創建一個Maven工程
1.4.2 增加Web支持
1.4.3 Hello Spring Boot示例
1.4.4 使用熱部署
1.4.5 添加REST支持
第2章 Spring Boot基礎
2.1 檢查Java環境與安裝Java
2.2 安裝和配置Maven
2.2.1 Maven介紹
2.2.2 安裝Maven
2.2.3 設置Maven
2.2.4 使用IDE設置Maven
2.2.5 Maven的常用命令
2.3 Spring核心技術
2.3.1 Spring的曆史
2.3.2 Spring容器介紹
2.3.3 Spring AOP介紹
第3章 MVC框架
3.1 集成MVC框架
3.1.1 引入依賴
3.1.2 Web應用目錄結構
3.1.3 Java包名結構
3.2 使用Controller
3.3 URL映射到方法
3.3.1 @RequestMapping
3.3.2 URL路徑匹配
3.3.3 HTTP method匹配
3.3.4 consumes和produces
3.3.5 params和header匹配
3.4 方法參數
3.4.1 PathVariable
3.4.2 Model&ModelAndView
3.4.3 JavaBean接受HTTP參數
3.4.4 @RequsetBody接受JSON
3.4.5 MultipartFile
3.4.6 @ModelAttribute
3.4.7 @InitBinder
3.5 驗證框架
3.5.1 JSR-303
3.5.2 MVC中使用@Validated
3.5.3 自定義校驗
3.6 WebMvcConfigurer
3.6.1 攔截器
3.6.2 跨域訪問
3.6.3 格式化
3.6.4 注冊Controller
3.7 視圖技術
3.7.1 使用Freemarker
3.7.2 使用Beetl
3.7.3 使用Jackson
3.7.4 Redirect和Forward
3.8 通用錯誤處理
3.9 @Service和@Transactional
3.9.1 聲明一個Service類
3.9.2 事務管理
3.10 curl命令
第4章 視圖技術
4.1 Beetl模闆引擎
4.1.1 安裝Beetl
4.1.2 設置定界符號和占位符
4.1.3 配置Beetl
4.1.4 groupTemplate
4.2 使用變量
4.2.1 全局變量
4.2.2 局部變量
4.2.3 共享變量
4.2.4 模闆變量
4.3 錶達式
4.3.1 計算錶達式
4.3.2 邏輯錶達式
4.4 控製語句
4.4.1 循環語句
4.4.2 條件語句
4.4.3 try catch
4.5 函數調用
4.6 格式化函數
4.7 直接調用Java
4.8 標簽函數
4.9 HTML標簽
4.10 安全輸齣
4.11 高級功能
4.11.1 配置Beetl
4.11.2 自定義函數
4.11.3 自定義格式化函數
4.11.4 自定義標簽函數
4.11.5 自定義HTML標簽
4.11.6 布局
4.11.7 AJAX局部渲染
4.12 腳本引擎
4.13 JSON技術
4.13.1 在Spring Boot中使用Jackson
4.13.2 自定義ObjectMapper
4.13.3 Jackson的三種使用方式
4.13.4 Jackson樹遍曆
4.13.5 對象綁定
4.13.6 流式操作
4.13.7 Jackson注解
4.13.8 集閤的反序列化
4.14 MVC分離開發
4.14.1 集成WebSimulate
4.14.2 模擬JSON響應
4.14.3 模擬模闆渲染
第5章 數據庫訪問
5.1 配置數據源
5.2 Spring JDBC Template
5.2.1 查詢
5.2.2 修改
5.2.3 JdbcTemplate增強
5.3 BeetlSQL介紹
5.3.1 BeetlSQL功能概覽
5.3.2 添加Maven依賴
5.3.3 配置BeetlSQL
5.3.4 SQLManager
5.3.5 使用SQL文件
5.3.6 Mapper
5.3.7 使用實體
5.4 SQLManager內置CRUD
5.4.1 內置的插入API
5.4.2 內置的更新(刪除)API
5.4.3 內置的查詢API
5.4.4 代碼生成方法
5.5 使用sqlId
5.5.1 md文件命名
5.5.2 md文件構成
5.5.3 調用sqlId
5.5.4 翻頁查詢
5.5.5 TailBean
5.5.6 ORM查詢
5.5.7 其他API
5.5.8 Mapper詳解
5.6 BeetlSQL的其他功能
5.6.1 常用函數和標簽
5.6.2 主鍵設置
5.6.3 BeetlSQL注解
5.6.4 NameConversion
5.6.5 鎖
第6章 Spring Data JPA
6.1 集成Spring Data JPA
6.1.1 集成數據源
6.1.2 配置JPA支持
6.1.3 創建Entity
6.1.4 簡化Entity
6.2 Repository
6.2.1 CrudRepository
6.2.2 PagingAndSortingRepository
6.2.3 JpaRepository
6.2.4 持久化Entity
6.2.5 Sort
6.2.6 Pageable和Page
6.2.7 基於方法名字查詢
6.2.8 @Query查詢
6.2.9 使用JPA Query
6.2.10 Example查詢
第7章 Spring Boot配置
7.1 配置Spring Boot
7.1.1 服務器配置
7.1.2 使用其他Web服務器
7.1.3 配置啓動信息
7.1.4 配置瀏覽器顯示ico
7.2 日誌配置
7.3 讀取應用配置
7.3.1 Environment
7.3.2 @Value
7.3.3 @ConfigurationProperties
7.4 Spring Boot自動裝配
7.4.1 @Configuration和@Bean
7.4.2 Bean條件裝配
7.4.3 Class條件裝配
7.4.4 Environment裝配
7.4.5 其他條件裝配
7.4.6 聯閤多個條件
7.4.7 Condition接口
7.4.8 製作Starter
第8章 部署Spring Boot應用
8.1 以jar文件運行
8.2 以war方式部署
8.3 多環境部署
8.4 @Profile注解
第9章 Testing單元測試
9.1 JUnit介紹
9.1.1 JUnit的相關概念
9.1.2 JUnit測試
9.1.3 Assert
9.1.4 Suite
9.2 Spring Boot單元測試
9.2.1 測試範圍依賴
9.2.2 Spring Boot測試腳手架
9.2.3 測試Service
9.2.4 測試MVC
9.2.5 完成MVC請求模擬
9.2.6 比較MVC的返迴結果
9.2.7 JSON比較
9.3 Mockito
9.3.1 模擬對象
9.3.2 模擬方法參數
9.3.3 模擬方法返迴值
9.4 麵嚮數據庫應用的單元測試
9.4.1 @Sql
9.4.2 XLSUnit
9.4.3 XLSUnit的基本用法
第10章 REST
10.1 REST簡介
10.1.1 REST風格的架構
10.1.2 使用“api”作為上下文
10.1.3 增加一個版本標識
10.1.4 標識資源
10.1.5 確定HTTP Method
10.1.6 確定HTTP Status
10.1.7 REST VS. WebService
10.2 Spring Boot集成REST
10.2.1 集成REST
10.2.2 @RestController
10.2.3 REST Client
10.3 Swagger UI
10.3.1 集成Swagger
10.3.2 Swagger規範
10.3.3 接口描述
10.3.4 查詢參數描述
10.3.5 URI中的參數
10.3.6 HTTP頭參數
10.3.7 錶單參數
10.3.8 文件上傳參數
10.3.9 整個請求體作為參數
10.4 模擬REST服務
第11章 MongoDB
11.1 安裝MongoDB
11.2 使用shell
11.2.1 指定數據庫
11.2.2 插入文檔
11.2.3 查詢文檔
11.2.4 更新操作
11.2.5 刪除操作
11.3 Spring Boot集成MongoDB
11.4 增刪改查
11.4.1 增加API
11.4.2 根據主鍵查詢API
11.4.3 查詢API
11.4.4 修改API
11.4.5 刪除API
11.4.6 使用MongoDatabase
11.4.7 打印日誌
第12章 Redis
12.1 安裝Redis
12.2 使用redis-cli
12.2.1 安全設置
12.2.2 基本操作
12.2.3 keys
12.2.4 Redis List
12.2.5 Redis Hash
12.2.6 Set
12.2.7 Pub/Sub
12.3 Spring Boot集成Redis
12.4 使用StringRedisTemplate
12.4.1 opsFor
12.4.2 綁定Key的操作
12.4.3 RedisConnection
12.4.4 Pub/Sub
12.5 序列化策略
12.5.1 默認序列化策略
12.5.2 自定義序列化策略
第13章 Elasticsearch
13.1 Elasticsearch介紹
13.1.1 安裝Elasticsearch
13.1.2 Elasticsearch的基本概念
13.2 使用REST訪問Elasticsearch
13.2.1 添加文檔
13.2.2 根據主鍵查詢
13.2.3 根據主鍵更新
13.2.4 根據主鍵刪除
13.2.5 搜索文檔
13.2.6 聯閤多個索引搜索
13.3 使用RestTemplate訪問ES
13.3.1 創建Book
13.3.2 使用RestTemplate獲取搜索結果
13.4 Spring Data Elastic
13.4.1 安裝Spring Data
13.4.2 編寫Entity
13.4.3 編寫Dao
13.4.4 編寫Controller
第14章 Cache
14.1 關於Cache
14.1.1 Cache的組件和概念
14.1.2 Cache的單體應用
14.1.3 使用專有的Cache服務器
14.1.4 使用一二級緩存服務器
14.2 Spring Boot Cache
14.3 注釋驅動緩存
14.3.1 @Cacheable
14.3.2 Key生成器
14.3.3 @CachePut
14.3.4 @CacheEvict
14.3.5 @Caching
14.3.6 @CacheConfig
14.4 使用Redis Cache
14.4.1 集成Redis緩存
14.4.2 禁止緩存
14.4.3 定製緩存
14.5 Redis緩存原理
14.6 實現Redis兩級緩存
14.6.1 實現TwoLevelCacheManager
14.6.2 創建RedisAndLocalCache
14.6.3 緩存同步說明
14.6.4 將代碼組閤在一起
第15章 Spring Session
15.1 水平擴展實現
15.2 Nginx的安裝和配置
15.2.1 安裝Nginx
15.2.2 配置Nginx
15.3 Spring Session
15.3.1 Spring Session介紹
15.3.2 使用Redis
15.3.3 Nginx+Redis
第16章 Spring Boot和ZooKeeper
16.1 ZooKeeper
16.1.1 ZooKeeper的數據結構
16.1.2 安裝ZooKeeper
16.1.3 ZooKeeper的基本命令
16.1.4 領導選取演示
16.1.5 分布式鎖演示
16.1.6 服務注冊演示
16.2 Spring Boot集成ZooKeeper
16.2.1 集成Curator
16.2.2 Curator API
16.3 實現分布式鎖
16.4 服務注冊
16.4.1 通過ServiceDiscovery注冊服務
16.4.2 獲取服務
16.5 領導選取
第17章 監控Spring Boot應用
17.1 安裝Acutator
17.2 HTTP跟蹤
17.3 日誌查看
17.4 綫程棧信息
17.5 內存信息
17.6 查看URL映射
17.7 查看Spring容器管理的Bean
17.8 其他監控
17.9 編寫自己的監控信息
17.9.1 編寫HealthIndicator
17.9.2 自定義監控
這本書最大的亮點之一,便是它對復雜技術問題的庖丁解牛般的分析能力。在涉及數據持久化方麵,它不僅僅是講解瞭Spring Data JPA的 CRUD 操作,更深入地探討瞭與數據庫連接池(如HikariCP)的優化、事務管理策略,以及在高並發場景下的數據一緻性問題。它解釋瞭Spring Boot 2如何通過自動配置,將這些繁瑣的配置變得觸手可及,但同時又保留瞭極大的靈活性,讓開發者可以根據實際需求進行精細調優。 我特彆關注書中關於消息隊列(如Kafka、RabbitMQ)在分布式係統中的應用。它詳細闡述瞭如何利用消息隊列實現異步通信、削峰填榖,以及構建事件驅動架構。書中給齣的示例,清晰地展示瞭消息的生産者、消費者以及相關的錯誤處理機製,這對於我過去在處理高吞吐量場景時遇到的瓶頸,提供瞭有效的解決方案。此外,書中對緩存策略(如Redis)的運用也做瞭深入的講解,包括如何進行緩存穿透、緩存擊穿、緩存雪崩的應對,以及如何閤理地設計緩存失效策略,這些都極大地提升瞭我構建高性能係統的能力。
評分讀到後麵,我開始感受到這本書的野心和深度。《Spring Boot 2精髓》並沒有止步於單個應用程序的開發,而是將目光投嚮瞭更廣闊的分布式係統架構。書中關於微服務架構的設計原則、服務注冊與發現(如Eureka、Consul)、服務調用(如RestTemplate、Feign)以及API網關(如Spring Cloud Gateway)的講解,都讓我耳目一新。我過去對這些概念雖有耳聞,但往往停留在理論層麵,缺乏係統性的實踐指導。這本書則用大量的篇幅,結閤Spring Cloud相關的組件,一步步演示瞭如何構建一個健壯的微服務係統。 書中對服務治理的探討尤為深刻,它不僅介紹瞭如何進行服務注冊和發現,還深入講解瞭服務熔斷(如Hystrix)、服務降級以及分布式事務的處理。這些都是構建高可用、高並發分布式係統的關鍵要素,而這本書將其化繁為簡,通過清晰的架構圖和代碼示例,讓我能夠清晰地理解它們的工作原理和實現方式。特彆是關於分布式事務的章節,它詳細介紹瞭Saga模式、TCC模式等幾種常見的解決方案,並分析瞭各自的優缺點,這對於我目前正在參與的分布式項目,無疑是雪中送炭。我特彆欣賞書中在講解分布式追蹤(如Sleuth)時的嚴謹,它能夠幫助開發者有效地定位跨服務調用中的問題,這在復雜的微服務環境中是不可或缺的。
評分作為一名在技術道路上摸爬滾打多年的開發者,我一直在尋找一本能夠真正引領我從基礎概念走嚮復雜架構的進階讀物。偶然間翻閱瞭《Spring Boot 2精髓》,它恰好填補瞭我技術成長中的一個重要空白。這本書雖然篇幅不算特彆宏大,但內容卻相當紮實,邏輯清晰,仿佛一位經驗豐富的導師,循序漸進地引導著我。 起初,我被書中對Spring Boot 2核心概念的講解所吸引。它沒有停留在API的簡單羅列,而是深入剖析瞭Spring Boot 2的“約定優於配置”以及自動化配置的原理,讓我對這個框架有瞭更深層次的理解。例如,在講解Spring Boot Starter時,我清晰地看到瞭它是如何通過依賴傳遞和自動配置,極大地簡化瞭項目的啓動和配置過程,這種“背後發生瞭什麼”的解釋,比單純的“怎麼用”要來得更有價值。書中對於Spring Boot 2在Bean的加載、依賴注入、AOP的應用等方麵都做瞭詳盡的闡述,並且通過一些小而精的示例,將抽象的概念具象化,使得學習過程變得輕鬆而富有成效。我尤其喜歡它在講解Actuator時的細緻,不僅介紹瞭常用的監控端點,還解釋瞭如何自定義端點,這為我排查綫上問題提供瞭新的思路和工具。
評分讓我感到驚喜的是,《Spring Boot 2精髓》在安全方麵的探討也是相當詳盡且實用的。在如今網絡安全日益重要的背景下,這本書能夠提供全麵的安全防護指導,這讓我倍感安心。它不僅僅是簡單地介紹Spring Security的基本配置,而是深入地講解瞭如何實現用戶認證、授權,以及如何防範常見的Web攻擊,如CSRF、XSS等。 書中對OAuth 2.0 和 JWT (JSON Web Token) 的講解,讓我對如何在分布式係統中安全地進行身份驗證和授權有瞭清晰的認識。它演示瞭如何構建一個安全的API網關,以及如何實現跨服務的安全校驗。我尤其欣賞它在講解Spring Boot Actuator安全配置時的細緻,提醒開發者注意暴露不必要的敏感信息。此外,書中還觸及瞭HTTPS的配置、日誌安全以及敏感信息加密等方麵的最佳實踐,這使得我在設計和開發應用程序時,能夠從始至終地考慮安全性,構建齣更加健壯和可靠的係統。
評分坦白說,作為一名開發者,我常常在麵對性能瓶頸時感到束手無策。但《Spring Boot 2精髓》這本書,在我看來,就像是一本“性能調優寶典”。它不僅僅停留在框架層麵的講解,更進一步地觸及瞭底層的性能優化技巧。書中關於JVM內存管理、垃圾迴收機製的講解,以及如何通過Spring Boot Actuator的監控數據來識彆性能瓶頸,都給瞭我極大的啓發。 我尤其喜歡書中對Spring Boot 2 in Action的實用性指導。它通過實際案例,演示瞭如何對應用程序進行性能剖析,找齣CPU、內存、I/O等方麵的瓶頸,並提供瞭具體的優化建議。例如,在講解數據庫連接池時,它不僅介紹瞭如何配置最大最小連接數,還闡述瞭連接超時、空閑連接迴收等參數對性能的影響。書中對於HTTP請求的優化,如請求壓縮、連接復用等,也做瞭細緻的說明。這些內容對我來說,是實實在在的“乾貨”,能夠直接應用於我的日常開發工作中,顯著提升瞭我開發應用程序的性能。
評分書不錯,保護的也很好
評分講瞭許多的乾貨
評分很不錯的介紹書籍
評分很不錯的介紹書籍
評分比較實用,知識介紹思路清晰。
評分書不錯,保護的也很好
評分很不錯的介紹書籍
評分比較實用,知識介紹思路清晰。
評分開始研究springboot,入門,覺得不錯
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有