日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
Spring Boot 2精髓:從構建小系統(tǒng)到架構分布式大系統(tǒng)圖書
人氣:41

Spring Boot 2精髓:從構建小系統(tǒng)到架構分布式大系統(tǒng)

前 Java的各種開發(fā)框架發(fā)展了很多年,影響了一代又一代的程序員,現(xiàn)在無論是程序員,還是架構師,使用這些開發(fā)框架都面臨著兩方面的挑戰(zhàn)。 ? 一方面是要快速開發(fā)出系統(tǒng),這就要求使用的開發(fā)框架盡量簡單,無論是新...

內(nèi)容簡介

Spring Boot是目前Spring技術體系中炙手可熱的框架之一,既可用于構建業(yè)務復雜的企業(yè)應用系統(tǒng),也可以開發(fā)高性能和高吞吐量的互聯(lián)網(wǎng)應用。Spring Boot框架降低了Spring技術體系的使用門檻,簡化了Spring應用的搭建和開發(fā)過程,提供了流行的第三方開源技術的自動集成。本書系統(tǒng)介紹了Spring Boot 2的主要技術,側重于兩個方面,一方面是極速開發(fā)一個Web應用系統(tǒng),詳細介紹Spring Boot框架、Spring MVC、視圖技術、數(shù)據(jù)庫訪問技術,并且介紹多環(huán)境部署、自動裝配、單元測試等高級特性;另一方面,當系統(tǒng)模塊增加,性能和吞吐量要求增加時,如何平滑地用Spring Boot實現(xiàn)分布式架構,也會在本書后半部分介紹,包括使用Spring實現(xiàn)RESTful架構,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技術,使用Spring Session實現(xiàn)系統(tǒng)水平擴展,使用Spring Cache提高系統(tǒng)性能。

編輯推薦

1.內(nèi)容豐富,涵蓋Spring Boot框架、Spring MVC、視圖技術、數(shù)據(jù)庫訪問技術,并且介紹多環(huán)境部署、自動裝配、單元測試等高級特性,包括使用Spring實現(xiàn)RESTful架構,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技術,使用Spring Session實現(xiàn)系統(tǒng)水平擴展,使用Spring Cache提高系統(tǒng)性能。

2.面對系統(tǒng)模塊增加,性能和吞吐量要求增加等場景時,介紹如何平滑地用Spring Boot實現(xiàn)分布式架構

作者簡介

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

目錄

第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 創(chuàng)建一個Maven工程

1.4.2 增加Web支持

1.4.3 Hello Spring Boot示例

1.4.4 使用熱部署

1.4.5 添加REST支持

第2章 Spring Boot基

2.1 檢查Java環(huán)境與安裝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 方法參數(shù)

3.4.1 PathVariable

3.4.2 Model&ModelAndView

3.4.3 JavaBean接受HTTP參數(shù)

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 循環(huán)語句

4.4.2 條件語句

4.4.3 try catch

4.5 函數(shù)調(diào)用

4.6 格式化函數(shù)

4.7 直接調(diào)用Java

4.8 標簽函數(shù)

4.9 HTML標簽

4.10 安全輸出

4.11 高級功能

4.11.1 配置Beetl

4.11.2 自定義函數(shù)

4.11.3 自定義格式化函數(shù)

4.11.4 自定義標簽函數(shù)

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分離開發(fā)

4.14.1 集成WebSimulate

4.14.2 模擬JSON響應

4.14.3 模擬模板渲染

第5章 數(shù)據(jù)庫訪問

5.1 配置數(shù)據(jù)源

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內(nèi)置CRUD

5.4.1 內(nèi)置的插入API

5.4.2 內(nèi)置的更新(刪除)API

5.4.3 內(nèi)置的查詢API

5.4.4 代碼生成方法

5.5 使用sqlId

5.5.1 md文件命名

5.5.2 md文件構成

5.5.3 調(diào)用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 常用函數(shù)和標簽

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 集成數(shù)據(jù)源

6.1.2 配置JPA支持

6.1.3 創(chuàng)建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 聯(lián)合多個條件

7.4.7 Condition接口

7.4.8 制作Starter

第8章 部署Spring Boot應用

8.1 以jar文件運行

8.2 以war方式部署

8.3 多環(huán)境部署

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 模擬方法參數(shù)

9.3.3 模擬方法返回值

9.4 面向數(shù)據(jù)庫應用的單元測試

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規(guī)范

10.3.3 接口描述

10.3.4 查詢參數(shù)描述

10.3.5 URI中的參數(shù)

10.3.6 HTTP頭參數(shù)

10.3.7 表單參數(shù)

10.3.8 文件上傳參數(shù)

10.3.9 整個請求體作為參數(shù)

10.4 模擬REST服務

第11章 MongoDB

11.1 安裝MongoDB

11.2 使用shell

11.2.1 指定數(shù)據(jù)庫

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 根據(jù)主鍵查詢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 根據(jù)主鍵查詢

13.2.3 根據(jù)主鍵更新

13.2.4 根據(jù)主鍵刪除

13.2.5 搜索文檔

13.2.6 聯(lián)合多個索引搜索

13.3 使用RestTemplate訪問ES

13.3.1 創(chuàng)建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 注釋驅(qū)動緩存

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 實現(xiàn)Redis兩級緩存

14.6.1 實現(xiàn)TwoLevelCacheManager

14.6.2 創(chuàng)建RedisAndLocalCache

14.6.3 緩存同步說明

14.6.4 將代碼組合在一起

第15章 Spring Session

15.1 水平擴展實現(xiàn)

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的數(shù)據(jù)結構

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 實現(xiàn)分布式鎖

16.4 服務注冊

16.4.1 通過ServiceDiscovery注冊服務

16.4.2 獲取服務

16.5 領導選取

第17章 監(jiān)控Spring Boot應用

17.1 安裝Acutator

17.2 HTTP跟蹤

17.3 日志查看

17.4 線程棧信息

17.5 內(nèi)存信息

17.6 查看URL映射

17.7 查

媒體評論

作者集其近二十年來沉浸于技術架構的理論探索和實踐經(jīng)驗,特別是近年來扎根于互聯(lián)網(wǎng)金融機構對于開源技術架構的前沿研究實踐,方成此心血之作。全書由易及難、自淺入深,為讀者徐徐展開基于Spring Boot 2.0構建企業(yè)復雜應用的恢弘篇章。此書非常適合作為開發(fā)人員及架構師從新手到高手、自低階至高階的重要指導書和參考書。

— 東方資產(chǎn)信息科技部 賀錦

如何快速適應業(yè)務的變化發(fā)展一直是每個企業(yè)IT部門都面臨的困擾,現(xiàn)在Spring Boot開發(fā)框架提供了的、經(jīng)過實踐驗證的技術解決方案。

本書作者,一位近二十年Java程序員和架構師,結合他高超的技術能力和豐富的實戰(zhàn)經(jīng)驗,給讀者精心闡述了 Spring Boot 2.0從初級快速構建系統(tǒng)到復雜的分布式系統(tǒng)開發(fā)的完整開發(fā)技術,本書不僅是開發(fā)人員不可多得的教科書,對非軟件企業(yè)的IT人員也有極強的參考價值。

— 東方資產(chǎn)信息科技部 黃友平

過去幾年,微服務架構在軟件開發(fā)領域逐漸深入人心,Spring Boot在經(jīng)歷了快速演變之后,正在成為Java微服務開發(fā)的主流成熟框架。本書對Spring Boot的特性進行了多方位講解,輔以大量翔實的案例,對分布式系統(tǒng)開發(fā)和應用提供了實戰(zhàn)指導。書中還詳細介紹了作者傾注了大量心血研發(fā)的開源軟件Beetl和BeetlSQL,它們易于與Spring Boot集成,并已被眾多大公司采納使用。本書對于開發(fā)人員和架構師來說,都具有參考價值。

—《Kubernetes指南》作者/HPE高級顧問 龔正

和家智相識多年,他是我所認識的非職業(yè)足球運動員中球商的,多年來他一直深耕于技術的線,有著豐富的技術儲備,是我非常欽佩的老大哥。

我們曾經(jīng)在同一家公司的同一個項目集效力,都非常喜歡踢球,都出了書,不得不說很神奇。

這本書的內(nèi)容非常豐富,也是作者多年潛心鉆研的積累,這本書和我的書有一些聯(lián)系,將Spring Boot進行了展開講解,既有廣度,也有深度,非常值得技術人員去學習。

—《微服務那些事兒》作者 紀曉峰

Spring Boot上手簡單、功能豐富、易于擴展,可謂目前業(yè)界快速開發(fā)、快速生產(chǎn)的利器;然而,它的版本演進非常迅速,中文文檔質(zhì)量也參差不齊。本書由淺入深地講解了Spring Boot,幫助讀者系統(tǒng)理解Spring Boot。不僅如此,本書對2.0版本帶來的新特性亦有非常詳盡的描述,值得一讀。

—《Spring Cloud與Docker微服務架構實戰(zhàn)》作者 周立

和家智相識有五年了,早是因為模板引擎技術結識。家智是國內(nèi)的模板引擎專家,也是我認識的為數(shù)不多的Spring技術專家,他在這兩方面都曾帶給我不同角度的思考與印證,讓我獲益匪淺。本書是家智二十年技術鉆研的一次厚積薄發(fā),其中不僅從作者自身的經(jīng)驗詳細講述了Spring Boot框架,還引入了作者在模板引擎、ORM以及單元測試方面多年研發(fā)的開源作品,是Java程序員和架構師不可多得的參考資料。

— ACTFramework作者 羅格林

十多年前,Spring顛覆了傳統(tǒng)的Java EE技術,迎來了Java企業(yè)級應用開發(fā)的春天,然而今天的Spring Boot卻站在Spring巨人的肩膀上,讓我們可以更高效地開發(fā)與交付。李家智是著名開源框架Beetl的作者,他寫的《Spring Boot 2精髓:從構建小系統(tǒng)到架構分布式大系統(tǒng)》一定非常精彩。

— 特贊科技CTO 黃勇

早熟知作者是從Beetl模板引擎開始的,當時正在尋找一個易用高效的模板引擎,Beetl幾乎滿足了我所有的需要。同時也十分敬佩作者在開源項目上的認真與負責。本書可以說是作者多年的心血所著,從Spring Boot的前世今生到使用擴展,都做了非常而易懂的概括,細節(jié)上也秉承了作者的細致與認真,講解清晰并語言干練,既適合初學者系統(tǒng)化學習,也適合有經(jīng)驗的工程師作為參考。

— 開源工具集Hutool作者 路小磊

從事Web開發(fā)有些年頭了,經(jīng)過技術選型,Spring Boot走入了我們的視野,開箱即用,非常方便,也是目前很多大公司的選擇之一。除了研究源碼,如果有一本關于Spring Boot的指導書籍,既可以方便地解決開發(fā)中的問題,又可以幫助讀者掌握Spring Boot,提高生產(chǎn)效率。

家智兄的這本書正是這樣不可多得的資源,本書是家智兄多年鉆研的技術積累,書中詳細講解了Web開發(fā)的各個知識點,包含Web請求處理、ORM處理、Redis緩存、MongoDB、Elasticsearch、ZooKeeper、監(jiān)控等方面的知識點。相信讀者在仔細閱讀并掌握本書的知識點后,可以極大地提高自身的Web開發(fā)水平,為讀者的軟件開發(fā)事業(yè)助一臂之力!

— 上海秦蒼(買單俠)基礎架構組架構師 劉志強

作者在Java EE體系內(nèi)的多年實戰(zhàn)經(jīng)驗使得本書的內(nèi)容具有價值,書中清晰細致地講解了快速構建Web應用系統(tǒng)的各個知識點,尤其是在后端模板引擎和ORM兩個章節(jié)中,作者以自己的兩款成熟開源產(chǎn)品Beetl和BeetlSQL為切入點進行講解,剖析角度十分新穎并且有啟發(fā)性。

通過這本書可以學習到關于Spring Boot框架的核心技術,從而掌握快速構建分布式Web應用的必備知識。無論你是Spring Boot新手,還是已經(jīng)使用過Spring Boot的開發(fā)者,相信都可以從這本書中受益。

— XXL-JOB系列作者 許雪里

近兩年來,隨著微服務的興起,Spring Boot突然流行起來了,越來越多的公司采用這一技術,其已經(jīng)成為大多數(shù)Java微服務開發(fā)者的開源框架。Spring Boot有非常顯著的特點:配置簡單,易于開發(fā),可快速部署。本書結合豐富的實例,從Spring Boot的快速開發(fā)Web應用入手,逐漸深入地分析Spring Boot的高級特性,后再重點介紹分布式架構的應用。通過深入淺出的闡述,讓你從單體應用到分布式、微服務都有多方位的了解,是不可多得的一本好書,當然我認為重要的還是作者耗費心血的開源項目Beetl和BeetlSQL。

— 《分布式數(shù)據(jù)庫架構及企業(yè)實踐——基于Mycat中間件》作者,開源中間件Mycat負責人 周繼鋒

Spring風靡多年,Spring Boot在近幾年微服務框架浪潮下更是出盡風頭,本書作者由淺入深地把Spring Boot 2.0各種特性闡述得淋漓盡致,不管你是Spring Boot新手還是老司機都值得一讀。Java Web后端也好,App后臺也罷,甚至獨立后臺應用,等等,Spring Boot都是你不可或缺的高效率工具。

移動易項目團隊深深的體會就是使用了Spring Boot可以節(jié)省50%以上的代碼。

— 上海億琪軟件有限公司CEO,移動易開源項目負責人,華為開發(fā)者社區(qū)專家(HDE) 褚建琪

網(wǎng)友評論(不代表本站觀點)

免責聲明

更多出版社
主站蜘蛛池模板: 广丰县| 巨野县| 赞皇县| 育儿| 樟树市| 教育| 永胜县| 佛教| 蒲城县| 南昌县| 屯留县| 凯里市| 沙田区| 武义县| 墨竹工卡县| 栾城县| 邯郸市| 清水河县| 娄烦县| 武威市| 灌南县| 五常市| 鹤壁市| 满洲里市| 阿荣旗| 宜州市| 巨野县| 平罗县| 揭西县| 宿州市| 南岸区| 留坝县| 广昌县| 吴川市| 富川| 余庆县| 凉城县| 澳门| 宜丰县| 博客| 电白县|