注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)深入淺出Spring Boot 2.x

深入淺出Spring Boot 2.x

深入淺出Spring Boot 2.x

定 價(jià):¥99.00

作 者: 楊開振 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115486387 出版時(shí)間: 2018-08-01 包裝: 平裝
開本: 16開 頁數(shù): 428 字?jǐn)?shù):  

內(nèi)容簡介

  Spring框架是Java EE開發(fā)的強(qiáng)有力的工具和事實(shí)標(biāo)準(zhǔn),而Spring Boot采用“約定優(yōu)于配置”的原則簡化了Spring的開發(fā),從而成為業(yè)界流行的微服務(wù)開發(fā)框架,已經(jīng)被越來越多的企業(yè)采用。2018年3月Spring Boot的版本正式從1.x升級到了2.x,為了適應(yīng)新潮流,本書將對Spring Boot 2.x技術(shù)進(jìn)行深入講解。本書從一個(gè)很簡單的工程開始講解Spring Boot企業(yè)級開發(fā),其內(nèi)容包含全注解下的Spring IoC和AOP、數(shù)據(jù)庫編程(JDBC、JPA和MyBatis)、數(shù)據(jù)庫事務(wù)、NoSQL(Redis和MongoDB)技術(shù)、Spring MVC、Spring 5新一代響應(yīng)式框架WebFlux、互聯(lián)網(wǎng)搶購業(yè)務(wù)、部署與監(jiān)控、REST風(fēng)格和Spring Cloud分布式開發(fā)等。本書內(nèi)容緊扣互聯(lián)網(wǎng)企業(yè)的實(shí)際要求,從全注解下Spring知識講到Spring Boot的企業(yè)級開發(fā),對于Java開發(fā)人員,尤其是初學(xué)Spring Boot的人員和需要從傳統(tǒng)Spring轉(zhuǎn)向Spring Boot開發(fā)的技術(shù)人員,具有很高的參考價(jià)值。

作者簡介

  楊開振,精通Java 互聯(lián)網(wǎng)技術(shù)開發(fā)和實(shí)踐,擁有十余年一線企業(yè)開發(fā)經(jīng)驗(yàn),著有業(yè)內(nèi)暢銷書《深入淺出MyBatis 技術(shù)原理與實(shí)戰(zhàn)》和《Java EE 互聯(lián)網(wǎng)輕量級框架整合開發(fā)——SSM 框架(Spring MVC+Spring+MyBatis) 和Redis 實(shí)現(xiàn) 》,目前成為自由職業(yè)人,在淘寶教育平臺上從事Java EE 互聯(lián)網(wǎng)相關(guān)的在線培訓(xùn)工作。

圖書目錄

第1章 Spring Boot來臨 1

1.1 Spring的歷史 1

1.2 注解還是XML 2

1.3 Spring Boot的優(yōu)點(diǎn) 3

1.4 傳統(tǒng)Spring MVC和Spring Boot的對比 4

第 2章 聊聊開發(fā)環(huán)境搭建和基本開發(fā) 10

2.1 搭建Spring Boot開發(fā)環(huán)境 10

2.1.1 搭建Eclipse開發(fā)環(huán)境 10

2.1.2 搭建IntelliJ IDEA開發(fā)環(huán)境 13

2.2 Spring Boot的依賴和自動配置 15

2.3 使用自定義配置 19

2.4 開發(fā)自己的Spring Boot項(xiàng)目 21

第3章 全注解下的Spring IoC 23

3.1 IoC容器簡介 23

3.2 裝配你的Bean 27

3.2.1 通過掃描裝配你的Bean 27

3.2.2 自定義第三方Bean 31

3.3 依賴注入 32

3.3.1 注解@Autowired 34

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

3.3.3 帶有參數(shù)的構(gòu)造方法類的裝配 36

3.4 生命周期 37

3.5 使用屬性文件 42

3.6 條件裝配Bean 45

3.7 Bean的作用域 46

3.8 使用@Profile 48

3.9 引入XML配置Bean 50

3.10 使用Spring EL 51

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

4.1 約定編程 53

4.1.1 約定 53

4.1.2 ProxyBean的實(shí)現(xiàn) 57

4.1.3 總結(jié) 60

4.2 AOP的概念 61

4.2.1 為什么使用AOP 61

4.2.2 AOP 術(shù)語和流程 64

4.3 AOP開發(fā)詳解 65

4.3.1 確定連接點(diǎn) 65

4.3.2 開發(fā)切面 66

4.3.3 切點(diǎn)定義 67

4.3.4 測試AOP 68

4.3.5 環(huán)繞通知 71

4.3.6 引入 72

4.3.7 通知獲取參數(shù) 74

4.3.8 織入 75

4.4 多個(gè)切面 77

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

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

5.1.1 啟動默認(rèn)數(shù)據(jù)源 83

5.1.2 配置自定義數(shù)據(jù)源 83

5.2 使用JdbcTemplate操作數(shù)據(jù)庫 86

5.3 使用JPA(Hibernate)操作數(shù)據(jù) 90

5.3.1 概述 90

5.3.2 開發(fā)JPA 90

5.4 整合MyBatis框架 96

5.4.1 MyBatis簡介 96

5.4.2 MyBatis的配置 97

5.4.3 Spring Boot整合MyBatis 101

5.4.4 MyBatis的其他配置 104

第6章 聊聊數(shù)據(jù)庫事務(wù)處理 107

6.1 JDBC的數(shù)據(jù)庫事務(wù) 108

6.2 Spring聲明式事務(wù)的使用 110

6.2.1 Spring聲明式數(shù)據(jù)庫事務(wù)約定 110

6.2.2 @Transactional的配置項(xiàng) 111

6.2.3 Spring事務(wù)管理器 113

6.2.4 測試數(shù)據(jù)庫事務(wù) 114

6.3 隔離級別 118

6.3.1 數(shù)據(jù)庫事務(wù)的知識 118

6.3.2 詳解隔離級別 120

6.4 傳播行為 124

6.4.1 傳播行為的定義 125

6.4.2 測試傳播行為 126

6.5 @Transactional自調(diào)用失效問題 130

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

7.1 spring-data-redis項(xiàng)目簡介 135

7.1.1 spring-data-redis項(xiàng)目的設(shè)計(jì) 135

7.1.2 RedisTemplate 137

7.1.3 Spring對Redis數(shù)據(jù)類型操作的封裝 139

7.1.4 SessionCallback和RedisCallback接口 141

7.2 在Spring Boot中配置和使用Redis 142

7.2.1 在Spring Boot中配置Redis 142

7.2.2 操作Redis數(shù)據(jù)類型 143

7.3 Redis的一些特殊用法 148

7.3.1 使用Redis事務(wù) 148

7.3.2 使用Redis流水線 149

7.3.3 使用Redis發(fā)布訂閱 150

7.3.4 使用Lua腳本 153

7.4 使用Spring緩存注解操作Redis 156

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

7.4.2 開發(fā)緩存注解 157

7.4.3 測試緩存注解 163

7.4.4 緩存注解自調(diào)用失效問題 165

7.4.5 緩存臟數(shù)據(jù)說明 165

7.4.6 自定義緩存管理器 166

第8章 文檔數(shù)據(jù)庫——MongoDB 168

8.1 配置MongoDB 169

8.2 使用MongoTemplate實(shí)例 170

8.2.1 搭建開發(fā)環(huán)境 170

8.2.2 使用MongoTemplate操作文檔 173

8.3 使用JPA 178

8.3.1 基本用法 178

8.3.2 使用自定義查詢 180

第9章 初識Spring MVC 183

9.1 Spring MVC框架的設(shè)計(jì) 183

9.2 Spring MVC流程 184

9.3 定制Spring MVC的初始化 191

9.4 Spring MVC實(shí)例 192

9.4.1 開發(fā)控制器 193

9.4.2 視圖和視圖渲染 194

第 10章 深入Spring MVC開發(fā) 197

10.1 處理器映射 197

10.2 獲取控制器參數(shù) 198

10.2.1 在無注解下獲取參數(shù) 199

10.2.2 使用@RequestParam獲取參數(shù) 199

10.2.3 傳遞數(shù)組 200

10.2.4 傳遞JSON 200

10.2.5 通過URL傳遞參數(shù) 203

10.2.6 獲取格式化參數(shù) 204

10.3 自定義參數(shù)轉(zhuǎn)換規(guī)則 205

10.3.1 處理器獲取參數(shù)邏輯 205

10.3.2 一對一轉(zhuǎn)換器(Converter) 208

10.3.3 GenericConverter集合和數(shù)組轉(zhuǎn)換 210

10.4 數(shù)據(jù)驗(yàn)證 211

10.4.1 JSR-303 驗(yàn)證 211

10.4.2 參數(shù)驗(yàn)證機(jī)制 214

10.5 數(shù)據(jù)模型 217

10.6 視圖和視圖解析器 219

10.6.1 視圖設(shè)計(jì) 219

10.6.2 視圖實(shí)例——導(dǎo)出PDF文件 220

10.7 文件上傳 224

10.7.1 Spring MVC對文件上傳的支持 224

10.7.2 開發(fā)文件上傳功能 226

10.8 攔截器 228

10.8.1 攔截器的設(shè)計(jì) 228

10.8.2 開發(fā)攔截器 229

10.8.3 多個(gè)攔截器的順序 231

10.9 國際化 234

10.9.1 國際化消息源 234

10.9.2 國際化解析器 235

10.9.3 國際化實(shí)例——SessionLocaleResolver 237

10.10 Spring MVC拾遺 240

10.10.1 @ResponseBody轉(zhuǎn)換為JSON的秘密 240

10.10.2 重定向 241

10.10.3 操作會話對象 243

10.10.4 給控制器增加通知 245

10.10.5 獲取請求頭參數(shù) 247

第 11章 構(gòu)建REST風(fēng)格網(wǎng)站 249

11.1 REST簡述 249

11.1.1 REST名詞解釋 249

11.1.2 HTTP的動作 250

11.1.3 REST風(fēng)格的一些誤區(qū) 251

11.2 使用Spring MVC開發(fā)REST風(fēng)格端點(diǎn) 251

11.2.1 Spring MVC整合REST 252

11.2.2 使用Spring開發(fā)REST風(fēng)格的端點(diǎn) 252

11.2.3 使用@RestController 260

11.2.4 渲染結(jié)果 261

11.2.5 處理HTTP狀態(tài)碼、異常和響應(yīng)頭 262

11.3 客戶端請求RestTemplate 266

11.3.1 使用RestTemplate請求后端 267

11.3.2 獲取響應(yīng)頭、狀態(tài)碼和資源交換 269

第 12章 安全——Spring Security 271

12.1 概述和簡單安全認(rèn)證 271

12.2 使用WebSecurityConfigurerAdapter自定義 273

12.3 自定義用戶服務(wù)信息 274

12.3.1 使用內(nèi)存簽名服務(wù) 275

12.3.2 使用數(shù)據(jù)庫定義用戶認(rèn)證服務(wù) 276

12.3.3 使用自定義用戶認(rèn)證服務(wù) 279

12.4 限制請求 281

12.4.1 配置請求路徑訪問權(quán)限 282

12.4.2 使用Spring表達(dá)式配置訪問權(quán)限 283

12.4.3 強(qiáng)制使用HTTPS 285

12.4.4 防止跨站點(diǎn)請求偽造 285

12.5 用戶認(rèn)證功能 287

12.5.1 自定義登錄頁面 287

12.5.2 啟用HTTP Basic認(rèn)證 288

12.5.3 登出 289

第 13章 學(xué)點(diǎn)Spring其他的技術(shù) 291

13.1 異步線程池 291

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

13.1.2 異步實(shí)例 292

13.2 異步消息 294

13.2.1 JMS實(shí)例——ActiveMQ 295

13.2.2 使用AMQP——RabbitMQ 299

13.3 定時(shí)任務(wù) 303

13.4 WebSocket 應(yīng)用 306

13.4.1 開發(fā)簡易的WebSocket服務(wù) 306

13.4.2 使用STOMP 311

第 14章 Spring 5新框架——WebFlux 319

14.1 基礎(chǔ)概念 319

14.1.1 響應(yīng)式編程的宣言 320

14.1.2 Reactor模型 320

14.1.3 Spring WebFlux的概述 322

14.1.4 WebHandler接口和運(yùn)行流程 323

14.2 通過Spring MVC方式開發(fā)WebFlux服務(wù)端 325

14.2.1 開發(fā)持久層 325

14.2.2 開發(fā)服務(wù)層 327

14.2.3 開發(fā)控制層 328

14.2.4 配置服務(wù) 330

14.2.5 客戶端開發(fā)——WebClient 331

14.3 深入WebFlux服務(wù)端開發(fā) 335

14.3.1 類型轉(zhuǎn)換器——Converter 335

14.3.2 驗(yàn)證器——Validator 337

14.3.3 訪問靜態(tài)資源 338

14.4 深入客戶端開發(fā) 339

14.4.1 處理服務(wù)端錯(cuò)誤和轉(zhuǎn)換 339

14.4.2 設(shè)置請求頭 341

14.5 使用路由函數(shù)方式開發(fā)WebFlux 342

14.5.1 開發(fā)處理器 342

14.5.2 開發(fā)請求路由 346

14.5.3 使用過濾器 347

第 15章 實(shí)踐一下——搶購商品 349

15.1 設(shè)計(jì)與開發(fā) 349

15.1.1 數(shù)據(jù)庫表設(shè)計(jì) 349

15.1.2 使用MyBatis開發(fā)持久層 350

15.1.3 使用Spring開發(fā)業(yè)務(wù)層和控制層 353

15.1.4 測試和配置 355

15.2 高并發(fā)開發(fā) 357

15.2.1 超發(fā)現(xiàn)象 357

15.2.2 悲觀鎖 358

15.2.3 樂觀鎖 359

15.2.4 使用Redis處理高并發(fā) 365

第 16章 部署、測試和監(jiān)控 371

16.1 部署和運(yùn)行 371

16.1.1 打包 371

16.1.2 運(yùn)行項(xiàng)目 373

16.1.3 熱部署 375

16.2 測試 376

16.2.1 構(gòu)建測試類 376

16.2.2 使用隨機(jī)端口和REST風(fēng)格測試 377

16.2.3 Mock測試 378

16.3 Actuator監(jiān)控端點(diǎn) 379

16.4 HTTP監(jiān)控 381

16.4.1 查看敏感信息 382

16.4.2 shutdown端點(diǎn) 383

16.4.3 配置端點(diǎn) 385

16.4.4 自定義端點(diǎn) 387

16.4.5 健康指標(biāo)項(xiàng) 389

16.5 JMX監(jiān)控 392

第 17章 分布式開發(fā)——Spring Cloud 393

17.1 服務(wù)治理和服務(wù)發(fā)現(xiàn)——Eureka 395

17.1.1 配置服務(wù)治理節(jié)點(diǎn) 395

17.1.2 服務(wù)發(fā)現(xiàn) 397

17.1.3 配置多個(gè)服務(wù)治理中心節(jié)點(diǎn) 401

17.2 微服務(wù)之間的調(diào)用 403

17.2.1 Ribbon客戶端負(fù)載均衡 403

17.2.2 Feign聲明式調(diào)用 406

17.3 斷路器——Hystrix 409

17.3.1 使用降級服務(wù) 410

17.3.2 啟用Hystrix儀表盤 412

17.4 路由網(wǎng)關(guān)——Zuul 415

17.4.1 構(gòu)建Zuul網(wǎng)關(guān) 415

17.4.2 使用過濾器 418

17.5 使用@SpringCloudApplication 421

附錄 Spring Boot知識點(diǎn)補(bǔ)充 423

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號