深入淺出Spring Boot 2.x pdf

圖書網
圖書網
圖書網
10715
文章
1514
評論
2020年7月15日21:35:49深入淺出Spring Boot 2.x pdf已關閉評論 126
摘要

適讀人群 :各類Java微服務開發人員,Spring開發人員,互聯網技術愛好者,微服務開發人員,由于Java EE在互聯網的強勢地位,擁有的讀者比較廣闊。
本書重點講解Spring Boot 2.x 技術, 首先通過與傳統Spring MVC 開發進行對比讓讀者融入Spring Boot 的開發中,然后再分別介紹全注解下的Spring IoC 和AOP、結合MyBatis 框架詳解數據庫編程和其事務開發、流行的NoSQL(Redis和MongoDB)技術、Spring MVC 技術、REST風格網站搭建、Spring Security 技術、Spring 5.x 新發布的WebFlux 技術、高并發與鎖、打包、測試、監控和Spring Cloud 入門等內容,從而幫助讀者掌握企業級Spring Boot 開發的要點。
本書涵蓋的內容從理論到互聯網微服務后端的實踐,無論是Java 互聯網后端開發人員,或是從傳統Spring 項目轉向Spring Boot 的開發人員,還是Java 微服務開發人員,都可以從本書中獲益。

深入淺出Spring Boot 2.x 作者:楊開振

深入淺出Spring Boot 2.x 出版社:人民郵電出版社

深入淺出Spring Boot 2.x 內容簡介

Spring框架是Java EE開發的強有力的工具和事實標準,而Spring Boot采用“約定優于配置”的原則簡化了Spring的開發,從而成為業界流行的微服務開發框架,已經被越來越多的企業采用。2018年3月Spring Boot的版本正式從1.x升級到了2.x,為了適應新潮流,本書將對Spring Boot 2.x技術進行深入講解。

本書從一個很簡單的工程開始講解Spring Boot企業級開發,其內容包含全注解下的Spring IoC和AOP、數據庫編程(JDBC、JPA和MyBatis)、數據庫事務、NoSQL(Redis和MongoDB)技術、Spring MVC、Spring 5新一代響應式框架WebFlux、互聯網搶購業務、部署與監控、REST風格和Spring Cloud分布式開發等。

本書內容緊扣互聯網企業的實際要求,從全注解下Spring知識講到Spring Boot的企業級開發,對于Java開發人員,尤其是初學Spring Boot的人員和需要從傳統Spring轉向Spring Boot開發的技術人員,具有很高的參考價值。

深入淺出Spring Boot 2.x 目錄

第1章 Spring Boot來臨

1.1 Spring的歷史

1.2 注解還是XML

1.3 Spring Boot的優點

1.4 傳統Spring MVC和Spring Boot的對比

第2章 聊聊開發環境搭建和基本開發

2.1 搭建Spring Boot開發環境

2.1.1 搭建Eclipse開發環境

2.1.2 搭建IntelliJ IDEA開發環境

2.2 Spring Boot的依賴和自動配置

2.3 使用自定義配置

2.4 開發自己的Spring Boot項目

第3章 全注解下的Spring IoC

3.1 IoC容器簡介

3.2 裝配你的Bean

3.2.1 通過掃描裝配你的Bean

3.2.2 自定義第三方Bean

3.3 依賴注入

3.3.1 注解@Autowired

3.3.2 消除歧義性——@Primary和@Quelifier

3.3.3 帶有參數的構造方法類的裝配

3.4 生命周期

3.5 使用屬性文件

3.6 條件裝配Bean

3.7 Bean的作用域

3.8 使用@Profile

3.9 引入XML配置Bean

3.10 使用Spring EL

第4章 開始約定編程——Spring AOP

4.1 約定編程

4.1.1 約定

4.1.2 ProxyBean的實現

4.1.3 總結

4.2 AOP的概念

4.2.1 為什么使用AOP

4.2.2 AOP 術語和流程

4.3 AOP開發詳解

4.3.1 確定連接點

4.3.2 開發切面

4.3.3 切點定義

4.3.4 測試AOP

4.3.5 環繞通知

4.3.6 引入

4.3.7 通知獲取參數

4.3.8 織入

4.4 多個切面

第5章 訪問數據庫

5.1 配置數據源

5.1.1 啟動默認數據源

5.1.2 配置自定義數據源

5.2 使用JdbcTemplate操作數據庫

5.3 使用JPA(Hibernate)操作數據

5.3.1 概述

5.3.2 開發JPA

5.4 整合MyBatis框架

5.4.1 MyBatis簡介

5.4.2 MyBatis的配置

5.4.3 Spring Boot整合MyBatis

5.4.4 MyBatis的其他配置

第6章 聊聊數據庫事務處理

6.1 JDBC的數據庫事務

6.2 Spring聲明式事務的使用

6.2.1 Spring聲明式數據庫事務約定

6.2.2 @Transactional的配置項

6.2.3 Spring事務管理器

6.2.4 測試數據庫事務

6.3 隔離級別

6.3.1 數據庫事務的知識

6.3.2 詳解隔離級別

6.4 傳播行為

6.4.1 傳播行為的定義

6.4.2 測試傳播行為

6.5 @Transactional自調用失效問題

第7章 使用性能利器——Redis

7.1 spring-data-redis項目簡介

7.1.1 spring-data-redis項目的設計

7.1.2 RedisTemplate

7.1.3 Spring對Redis數據類型操作的封裝

7.1.4 SessionCallback和RedisCallback接口

7.2 在Spring Boot中配置和使用Redis

7.2.1 在Spring Boot中配置Redis

7.2.2 操作Redis數據類型

7.3 Redis的一些特殊用法

7.3.1 使用Redis事務

7.3.2 使用Redis流水線

7.3.3 使用Redis發布訂閱

7.3.4 使用Lua腳本

7.4 使用Spring緩存注解操作Redis

7.4.1 緩存管理器和緩存的啟用

7.4.2 開發緩存注解

7.4.3 測試緩存注解

7.4.4 緩存注解自調用失效問題

7.4.5 緩存臟數據說明

7.4.6 自定義緩存管理器

第8章 文檔數據庫——MongoDB

8.1 配置MongoDB

8.2 使用MongoTemplate實例

8.2.1 搭建開發環境

8.2.2 使用MongoTemplate操作文檔

8.3 使用JPA

8.3.1 基本用法

8.3.2 使用自定義查詢

第9章 初識Spring MVC

9.1 Spring MVC框架的設計

9.2 Spring MVC流程

9.3 定制Spring MVC的初始化

9.4 Spring MVC實例

9.4.1 開發控制器

9.4.2 視圖和視圖渲染

第10章 深入Spring MVC開發

10.1 處理器映射

10.2 獲取控制器參數

10.2.1 在無注解下獲取參數

10.2.2 使用@RequestParam獲取參數

10.2.3 傳遞數組

10.2.4 傳遞JSON

10.2.5 通過URL傳遞參數

10.2.6 獲取格式化參數

10.3 自定義參數轉換規則

10.3.1 處理器獲取參數邏輯

10.3.2 一對一轉換器(Converter)

10.3.3 GenericConverter集合和數組轉換

10.4 數據驗證

10.4.1 JSR-303 驗證

10.4.2 參數驗證機制

10.5 數據模型

10.6 視圖和視圖解析器

10.6.1 視圖設計

10.6.2 視圖實例——導出PDF文件

10.7 文件上傳

10.7.1 Spring MVC對文件上傳的支持

10.7.2 開發文件上傳功能

10.8 攔截器

10.8.1 攔截器的設計

10.8.2 開發攔截器

10.8.3 多個攔截器的順序

10.9 國際化

10.9.1 國際化消息源

10.9.2 國際化解析器

10.9.3 國際化實例——SessionLocaleResolver

10.10 Spring MVC拾遺

10.10.1 @ResponseBody轉換為JSON的秘密

10.10.2 重定向

10.10.3 操作會話對象

10.10.4 給控制器增加通知

10.10.5 獲取請求頭參數

第11章 構建REST風格網站

11.1 REST簡述

11.1.1 REST名詞解釋

11.1.2 HTTP的動作

11.1.3 REST風格的一些誤區

11.2 使用Spring MVC開發REST風格端點

11.2.1 Spring MVC整合REST

11.2.2 使用Spring開發REST風格的端點

11.2.3 使用@RestController

11.2.4 渲染結果

11.2.5 處理HTTP狀態碼、異常和響應頭

11.3 客戶端請求RestTemplate

11.3.1 使用RestTemplate請求后端

11.3.2 獲取響應頭、狀態碼和資源交換

第12章 安全——Spring Security

12.1 概述和簡單安全認證

12.2 使用WebSecurityConfigurerAdapter自定義

12.3 自定義用戶服務信息

12.3.1 使用內存簽名服務

12.3.2 使用數據庫定義用戶認證服務

12.3.3 使用自定義用戶認證服務

12.4 限制請求

12.4.1 配置請求路徑訪問權限

12.4.2 使用Spring表達式配置訪問權限

12.4.3 強制使用HTTPS

12.4.4 防止跨站點請求偽造

12.5 用戶認證功能

12.5.1 自定義登錄頁面

12.5.2 啟用HTTP Basic認證

12.5.3 登出

第13章 學點Spring其他的技術

13.1 異步線程池

13.1.1 定義線程池和開啟異步可用

13.1.2 異步實例

13.2 異步消息

13.2.1 JMS實例——ActiveMQ

13.2.2 使用AMQP——RabbitMQ

13.3 定時任務

13.4 WebSocket 應用

13.4.1 開發簡易的WebSocket服務

13.4.2 使用STOMP

第14章 Spring 5新框架——WebFlux

14.1 基礎概念

14.1.1 響應式編程的宣言

14.1.2 Reactor模型

14.1.3 Spring WebFlux的概述

14.1.4 WebHandler接口和運行流程

14.2 通過Spring MVC方式開發WebFlux服務端

14.2.1 開發持久層

14.2.2 開發服務層

14.2.3 開發控制層

14.2.4 配置服務

14.2.5 客戶端開發——WebClient

14.3 深入WebFlux服務端開發

14.3.1 類型轉換器——Converter

14.3.2 驗證器——Validator

14.3.3 訪問靜態資源

14.4 深入客戶端開發

14.4.1 處理服務端錯誤和轉換

14.4.2 設置請求頭

14.5 使用路由函數方式開發WebFlux

14.5.1 開發處理器

14.5.2 開發請求路由

14.5.3 使用過濾器

第15章 實踐一下——搶購商品

15.1 設計與開發

15.1.1 數據庫表設計

15.1.2 使用MyBatis開發持久層

15.1.3 使用Spring開發業務層和控制層

15.1.4 測試和配置

15.2 高并發開發

15.2.1 超發現象

15.2.2 悲觀鎖

15.2.3 樂觀鎖

15.2.4 使用Redis處理高并發

第16章 部署、測試和監控

16.1 部署和運行

16.1.1 打包

16.1.2 運行項目

16.1.3 熱部署

16.2 測試

16.2.1 構建測試類

16.2.2 使用隨機端口和REST風格測試

16.2.3 Mock測試

16.3 Actuator監控端點

16.4 HTTP監控

16.4.1 查看敏感信息

16.4.2 shutdown端點

16.4.3 配置端點

16.4.4 自定義端點

16.4.5 健康指標項

16.5 JMX監控

第17章 分布式開發——Spring Cloud

17.1 服務治理和服務發現——Eureka

17.1.1 配置服務治理節點

17.1.2 服務發現

17.1.3 配置多個服務治理中心節點

17.2 微服務之間的調用

17.2.1 Ribbon客戶端負載均衡

17.2.2 Feign聲明式調用

17.3 斷路器——Hystrix

17.3.1 使用降級服務

17.3.2 啟用Hystrix儀表盤

17.4 路由網關——Zuul

17.4.1 構建Zuul網關

17.4.2 使用過濾器

17.5 使用@SpringCloudApplication

附錄 Spring Boot知識點補充

A.1 選擇內嵌服務器

A.2 修改商標

A.3 深入Spring Boot自動裝配

深入淺出Spring Boot 2.x 精彩文摘

第1章 Spring Boot來臨

當今許多互聯網企業采用Java EE的技術開發自己的后端服務器,其原因在于Java語言的簡單、安全、支持多線程、高性能和多年Java EE的技術積累,能夠快速、安全、高性能地構建互聯網項目。而如果你身處于Java EE的領域,那么你一定聽過Spring的大名,它是當今Java EE開發的事實標準,也是絕大部分企業構建Java EE應用的基礎。開啟Spring Boot講解之前,讓我們先回顧Spring Framework的歷史。

1.1 Spring的歷史

在Spring框架沒有開發出來時,Java EE是以Sun公司(已經被Oracle公司收購,不復存在,但為了紀念其對Java發展進程的巨大影響力,全書還是保留其名稱,以表致敬之意)所制定的EJB(Enterprise Java Bean)作為標準的。在“遙遠”的EJB年代,開發一個EJB需要大量的接口和配置文件,直至EJB 2.0的年代,開發一個EJB還需要配置兩個文件,其結果就是配置的工作量比開發的工作量還要大。其次EJB是運行在EJB容器中的,而Sun公司定義的JSP和Servlet卻是運行在Web容器中的,于是你可以想象得到,你需要使用Web容器去調用EJB容器的服務。這就意味著存在以下的弊端:需要增加調用的配置文件才能讓Web容器調用EJB容器;與此同時需要開發兩個容器,非常多的配置內容和煩瑣的規范導致開發效率十分低下,這非常讓當時的開發者詬??;對于Web容器調用EJB容器的服務這種模式,注定了需要通過網絡傳遞,造成性能不佳;對于測試人員還需要了解許多EJB煩瑣的細節,才能進行配置和測試,這樣測試也難以進行。

圖書網:深入淺出Spring Boot 2.x pdf

繼續閱讀
  • 我的微信
  • 掃一掃加好友
  • weinxin
  • 微信公眾號
  • 掃一掃關注
  • weinxin

有任何需求請前往→→→社區

Kotlin實戰pdf 程序設計

Kotlin實戰pdf

Kotlin實戰 作者:(俄)DMITRY JEMEROV,(俄)SVETLANA ISAKOVA Kotlin實戰 出版社:電子工業出版社 Kotlin實戰 內容簡介 《Kotlin實戰》將從語言的...
Go語言并發之道pdf 程序設計

Go語言并發之道pdf

Go語言并發之道 作者: 凱瑟琳(Katherine Cox-Buday) Go語言并發之道 出版社:中國電力出版社 Go語言并發之道 內容簡介 本書作者帶你一步一步深入這些方法。你將理解 Go語言為...
Java遺傳算法編程pdf 程序設計

Java遺傳算法編程pdf

遺傳算法常常用于解決非常復雜的真實世界問題。 本書是學習如何利用遺傳算法來解決問題的入門指南,書中包含了Java語言編寫的、能運行的項目和解決方案。本書引導讀者一步一步地實現各種遺...
JavaScript核心技術開發解密pdf 程序設計

JavaScript核心技術開發解密pdf

適讀人群 :JavaScript初學者,有一定開發經驗但是對于JavaScript了解不夠的讀者,開發經驗豐富但沒有形成自己知識體系的前端從業者。 這是一本幫助新人提高學習效率的書...