Spring Boot 2精髓:從構建小系統到架構分佈式大系統 Spring Boot 2精髓:从构建小系统到架构分布式大系统

李家智

  • 出版商: 電子工業
  • 出版日期: 2017-10-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 360
  • 裝訂: 平裝
  • ISBN: 7121328259
  • ISBN-13: 9787121328251
  • 相關分類: Java 相關技術
  • 立即出貨(限量) (庫存=2)

買這商品的人也買了...

相關主題

商品描述

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提高系統性能。

作者簡介

李家智,出生在貴州,畢業於成都西南民族大學。現在就職於東方金科公司,擔任架構師,負責公司技術產品研發。
從事軟件開發近20年,致力於Java和Java EE系統的架構和實現,對一切技術充滿好奇,以知行合一要求自己。
除了本書,也是國內流行開源Beetl模板語言和Dao工具BeetlSQL的作者。

目錄大綱

第1章JavaEE簡介
1.1 JavaEE 
1.1.1 JavaEE架構
1.1.2 JavaEE的缺點
1.2 Spring 
1.2.1 SpringIoC容器和AOP 
1.2.2 Spring的缺點
1.3 SpringBoot 
1.4 Hello,SpringBoot 
1.4.1創建一個Maven工程
1.4.2增加Web支持
1.4.3 HelloSpringBoot示例
1.4.4使用熱部署
1.4.5添加REST支持

第2章SpringBoot基礎
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 SpringAOP介紹

第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 HTTPmethod匹配
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 trycatch 
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在SpringBoot中使用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 SpringJDBCTemplate 
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章SpringDataJPA 
6.1集成SpringDataJPA 
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使用JPAQuery 
6.2.10 Example查詢

第7章SpringBoot配置
7.1配置SpringBoot 
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 SpringBoot自動裝配
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章部署SpringBoot應用
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 SpringBoot單元測試
9.2.1測試範圍依賴
9.2.2 SpringBoot測試腳手架
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確定HTTPMethod
10.1.6確定HTTPStatus 
10.1.7 RESTVS.WebService 
10.2 SpringBoot集成REST 
10.2.1集成REST 
10.2.2 @RestController 
10.2.3 RESTClient 
10.3 SwaggerUI 
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 SpringBoot集成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 RedisList 
12.2.5 RedisHash 
12.2 .6 Set 
12.2.7 Pub/Sub 
12.3 SpringBoot集成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 SpringDataElastic 
13.4.1安裝SpringData 
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 SpringBootCache 
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使用RedisCache 
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章SpringSession 
15.1水平擴展實現
15.2 Nginx的安裝和配置
15.2.1安裝Nginx 
15.2.2配置Nginx 
15.3 SpringSession 
15.3.1 SpringSession介紹
15.3.2使用Redis 
15.3.3 Nginx+Redis 

第16章SpringBoot和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 SpringBoot集成ZooKeeper 
16.2.1集成Curator 
16.2.2 CuratorAPI 
16.3實現分佈式鎖
16.4服務註冊
16.4.1通過ServiceDiscovery註冊服務
16.4.2獲取服務
16.5領導選取

第17章監控SpringBoot應用
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自定義監控