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

瘋狂Spring Boot終極講義

瘋狂Spring Boot終極講義

定 價(jià):¥168.00

作 者: 李剛 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121413711 出版時(shí)間: 2021-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 712 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  在學(xué)習(xí)本書(shū)之前,如果對(duì)以下問(wèn)題感到苦惱,那么你應(yīng)該認(rèn)真閱讀本書(shū): \u009fSpring Boot自動(dòng)配置的原理是什么?Spring Boot自動(dòng)配置源代碼是如何實(shí)現(xiàn)的? \u009f怎樣才能真正完全掌握Spring Boot官方手冊(cè)中介紹的內(nèi)容? 本書(shū)和市面上已有的Spring Boot圖書(shū)完全不同,本書(shū)不是一本介紹類似于@PathVariable、@MatrixVariable、@RequestBody、@ResponseBody這些基礎(chǔ)注解的圖書(shū),它是真正講解Spring Boot的圖書(shū)。 Spring Boot的核心是什么?它的核心就是自動(dòng)配置,以及以自動(dòng)配置為基礎(chǔ)與大量第三方后端技術(shù)進(jìn)行整合。因此學(xué)習(xí)Spring Boot應(yīng)該重點(diǎn)關(guān)注的就是它為整合各種框架所提供的自動(dòng)配置,包括Spring Boot如何整合各種前端框架,如Spring MVC、Spring WebFlux;Spring Boot如何整合各種持久層技術(shù),如Spring Data、MyBatis、Hibernate/JPA、R2DBC、jOOQ等;Spring Boot如何整合NoSQL技術(shù),如Redis、MongoDB、Neo4j、Cassandra、Solr、Elasticsearch等;Spring Boot如何整合各種消息組件,如ActiveMQ、Artemis、RabbitMQ、Kafka等;Spring Boot如何整合各種緩存機(jī)制,如JCache、EhCache、Redis、Hazelcast等;Spring Boot如何整合各種安全框架,如Spring Security、Shiro等,這些都只是Spring Boot整合的典型內(nèi)容,也是Spring Boot官方手冊(cè)中介紹的內(nèi)容。但絕大多數(shù)人看Spring Boot官方手冊(cè)是完全看不懂的,因?yàn)樗鼘?xiě)得太簡(jiǎn)單了——一共才300來(lái)頁(yè),整合各種技術(shù)都只介紹了最簡(jiǎn)單的代碼片段,因此看不懂是完全正常的。 本書(shū)的作用就是帶你徹底掌握Spring Boot官方手冊(cè)中所整合的各種技術(shù),而且本書(shū)會(huì)講清楚Spring Boot和Spring框架的關(guān)系,帶著你揭開(kāi)Spring Boot的核心:自動(dòng)配置的面紗,領(lǐng)著你剖析Spring Boot自動(dòng)配置的源代碼實(shí)現(xiàn),然后以此為基礎(chǔ),詳細(xì)講解Spring Boot如何整合各種Java后端技術(shù)。在掌握了本書(shū)知識(shí)之后,你不僅能輕松看懂Spring Boot官方手冊(cè)(其實(shí)無(wú)須再看了),而且真正掌握了Spring Boot的大成,并通過(guò)Spring Boot的整合觸類旁通地掌握各種Java后端技術(shù)。 本書(shū)提供了讀者答疑交流群,讀者可通過(guò)掃描本書(shū)封面上的二維碼,按照指引加入讀者答疑交流群。 在閱讀本書(shū)之前,建議先認(rèn)真閱讀作者所著的《輕量級(jí)Java Web企業(yè)應(yīng)用實(shí)戰(zhàn)》一書(shū)。本書(shū)適合有較好的Java編程基礎(chǔ),尤其適合有一定Spring MVC、Spring、MyBatis、Hibernate/JPA基礎(chǔ)的讀者學(xué)習(xí)。

作者簡(jiǎn)介

  李剛,十余年軟件開(kāi)發(fā)從業(yè)經(jīng)驗(yàn),瘋狂軟件教育中心教學(xué)總監(jiān)。瘋狂Java實(shí)訓(xùn)營(yíng)創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書(shū)作者。CSDN爆款課程講師。培訓(xùn)的學(xué)生已在騰訊、阿里、華為、網(wǎng)易等名企就職。國(guó)內(nèi)知名高端IT技術(shù)圖書(shū)作家,已出版《瘋狂Java講義》《瘋狂Python講義》《瘋狂Android講義》《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》《瘋狂前端開(kāi)發(fā)講義》《瘋狂HTML5/CSS3/JavaScript講義》等著作。瘋狂Java體系圖書(shū)均已沉淀多年,多部著作印刷數(shù)量超過(guò)10萬(wàn)冊(cè),并被多所“985”“211”院校選作教材,部分圖書(shū)已被轉(zhuǎn)換成繁體中文版,授權(quán)到寶島臺(tái)灣。

圖書(shū)目錄





第1章 序幕:Spring Boot入門(mén)
1.1 Spring Boot簡(jiǎn)介
1.1.1 Java EE應(yīng)用與Spring
1.1.2 為什么要用Spring Boot
1.2 第一個(gè)Spring Boot應(yīng)用
1.2.1 準(zhǔn)備開(kāi)發(fā)環(huán)境
1.2.2 創(chuàng)建Spring Boot項(xiàng)目
1.2.3 編寫(xiě)控制器
1.2.4 運(yùn)行應(yīng)用
1.2.5 創(chuàng)建可執(zhí)行的JAR包
1.2.6 開(kāi)發(fā)業(yè)務(wù)組件
1.2.7 開(kāi)發(fā)DAO組件
1.3 編寫(xiě)單元測(cè)試
1.3.1 測(cè)試RESTful接口
1.3.2 模擬Web環(huán)境測(cè)試控制器
1.3.3 測(cè)試業(yè)務(wù)組件
1.3.4 使用模擬組件
1.4 使用其他構(gòu)建工具
1.4.1 使用Gradle構(gòu)建工具
1.4.2 使用Ant開(kāi)發(fā)Spring Boot應(yīng)用
1.5 本章小結(jié)
第2章 應(yīng)用配置與自動(dòng)配置
2.1 SpringApplication與Spring容器
2.1.1 類配置與XML配置
2.1.2 啟動(dòng)日志和失敗分析器
2.1.3 延遲初始化
2.1.4 自定義Banner
2.1.5 設(shè)置SpringApplication與流式API
2.1.6 事件監(jiān)聽(tīng)器與容器初始化器
2.1.7 配置環(huán)境后處理器
2.1.8 ApplicationRunner和CommandLineRunner
2.1.9 創(chuàng)建非Web應(yīng)用
2.1.10 通過(guò)ApplicationArguments訪問(wèn)應(yīng)用參數(shù)
2.2 外部配置源
2.2.1 配置源的加載順序與優(yōu)先級(jí)
2.2.2 利用JSON參數(shù)配置
2.2.3 使用YAML配置文件
2.2.4 改變配置文件的位置
2.2.5 導(dǎo)入額外的配置文件
2.2.6 使用占位符
2.2.7 讀取構(gòu)建文件的屬性
2.2.8 配置隨機(jī)值
2.3 類型安全的綁定
2.3.1 使用屬性處理類獲取配置屬性
2.3.2 為容器中的Bean注入配置屬性
2.3.3 屬性轉(zhuǎn)換
2.3.4 校驗(yàn)@ConfigurationProperties
2.4 Profile
2.4.1 配置和切換Profile
2.4.2 添加活動(dòng)Profile
2.4.3 Profile組
2.4.4 混合復(fù)合類型
2.4.5 根據(jù)環(huán)境自動(dòng)更新Profile
2.5 日志配置
2.5.1 理解Spring Boot的日志設(shè)計(jì)
2.5.2 日志級(jí)別與格式
2.5.3 輸出日志到文件
2.5.4 日志組
2.5.5 關(guān)閉控制臺(tái)日志
2.5.6 改用Log4j2日志實(shí)現(xiàn)
2.5.7 Logback擴(kuò)展
2.6 自動(dòng)配置概述
2.6.1 自動(dòng)配置的替換原則
2.6.2 禁用特定的自動(dòng)配置
2.7 創(chuàng)建自己的自動(dòng)配置
2.7.1 自動(dòng)配置的本質(zhì)
2.7.2 條件注解
2.7.3 自定義條件注解
2.7.4 自定義自動(dòng)配置
2.7.5 創(chuàng)建自定義的Starter
2.8 熱插拔與開(kāi)發(fā)者工具
2.8.1 靜態(tài)模板的重加載
2.8.2 添加開(kāi)發(fā)者工具
2.8.3 自動(dòng)重啟功能
2.8.4 實(shí)時(shí)重加載
2.8.5 全局配置
2.9 本章小結(jié)
第3章 Spring Boot的Web應(yīng)用支持
3.1 Web應(yīng)用配置
3.1.1 設(shè)置HTTP端口
3.1.2 使用隨機(jī)的HTTP端口
3.1.3 運(yùn)行時(shí)獲取HTTP端口
3.1.4 啟用HTTP響應(yīng)壓縮
3.1.5 Web服務(wù)器的編程式配置
3.2 為應(yīng)用添加Servlet、Filter、Listener
3.2.1 使用Spring Bean添加Servlet、Filter或Listener
3.2.2 使用XxxRegistrationBean注冊(cè)Servlet、Filter或Listener
3.2.3 使用ClassPath掃描添加Servlet、Filter或Listener
3.2.4 JSP限制
3.3 配置內(nèi)嵌Web服務(wù)器
3.3.1 切換到其他Web服務(wù)器
3.3.2 配置SSL
3.3.3 配置HTTP/2
3.3.4 配置訪客日志
3.4 管理Spring MVC
3.4.1 Spring MVC的自動(dòng)配置
3.4.2 靜態(tài)資源管理
3.4.3 自定義首頁(yè)和圖標(biāo)
3.4.4 使用Thymeleaf模板引擎
3.4.5 Thymeleaf的基本語(yǔ)法
3.4.6 Spring Boot整合Thymeleaf
3.4.7 Spring Boot整合FreeMarker
3.4.8 Spring Boot整合JSP
3.4.9 路徑匹配和內(nèi)容協(xié)商
3.4.10 錯(cuò)誤處理
3.4.11 文件上傳和輸入校驗(yàn)
3.5 國(guó)際化支持
3.5.1 應(yīng)用國(guó)際化
3.5.2 在界面上動(dòng)態(tài)改變語(yǔ)言
3.6 管理Spring WebFlux框架
3.6.1 Spring WebFlux簡(jiǎn)介
3.6.2 Spring WebFlux的自動(dòng)配置
3.6.3 靜態(tài)資源和首頁(yè)、圖標(biāo)
3.6.4 使用注解開(kāi)發(fā)Spring WebFlux應(yīng)用
3.6.5 函數(shù)式開(kāi)發(fā)WebFlux應(yīng)用及整合模板引擎
3.6.6 錯(cuò)誤處理
3.7 WebSocket支持
3.7.1 使用@ServerEndpoint開(kāi)發(fā)WebSocket
3.7.2 使用WebFlux開(kāi)發(fā)WebSocket
3.8 優(yōu)雅地關(guān)閉應(yīng)用
3.9 本章小結(jié)
第4章 RESTful服務(wù)支持
4.1 開(kāi)發(fā)RESTful服務(wù)
4.1.1 基于JSON的RESTful服務(wù)
4.1.2 基于XML的RESTful服務(wù)
4.1.3 Spring Boot內(nèi)置的JSON支持
4.2 RESTful服務(wù)的相關(guān)配置
4.2.1 自定義Jackson的ObjectMapper
4.2.2 自定義JSON序列化器和反序列化器
4.2.3 使用HttpMessageConverters更換轉(zhuǎn)換器
4.2.4 跨域資源共享
4.3 RESTful客戶端
4.3.1 使用RestTemplate調(diào)用RESTful
服務(wù)
4.3.2 定制RestTemplate
4.3.3 使用WebClient調(diào)用RESTful服務(wù)
4.3.4 WebClient底層的相關(guān)配置
4.4 本章小結(jié)
第5章 訪問(wèn)SQL數(shù)據(jù)庫(kù)
5.1 整合Spring Data JPA
5.1.1 Spring Data的設(shè)計(jì)和核心API
5.1.2 Spring Data JPA基本功能
5.1.3 數(shù)據(jù)源配置詳解
5.1.4 方法名關(guān)鍵字查詢
5.1.5 指定查詢語(yǔ)句和命名查詢
5.1.6 自定義查詢
5.1.7 Example查詢
5.1.8 Specification查詢
5.2 直接整合JDBC
5.3 整合Spring Data JDBC
5.4 整合MyBatis
5.4.1 掃描Mapper組件
5.4.2 直接使用SqlSession
5.4.3 配置MyBatis
5.4.4 擴(kuò)展MyBatis
5.5 整合jOOQ
5.5.1 生成代碼
5.5.2 使用DSLContext操作數(shù)據(jù)庫(kù)
5.5.3 jOOQ高級(jí)配置
5.6 整合R2DBC
5.6.1 使用DatabaseClient
5.6.2 使用R2DBC的Repository
5.7 使用JTA管理分布式事務(wù)
5.7.1 理解JTA分布式事務(wù)
5.7.2 使用Atomikos管理MyBatis多數(shù)據(jù)源應(yīng)用
5.7.3 使用Atomikos管理Spring Data JPA多數(shù)據(jù)源應(yīng)用
5.7.4 使用Java EE容器提供的事務(wù)管理器
5.8 初始化數(shù)據(jù)庫(kù)
5.8.1 基于Spring Data JPA的自動(dòng)建表
5.8.2 執(zhí)行SQL腳本初始化數(shù)據(jù)庫(kù)
5.8.3 使用R2DBC初始化數(shù)據(jù)庫(kù)
5.9 本章小結(jié)
第6章 操作NoSQL數(shù)據(jù)庫(kù)
6.1 整合Redis
6.1.1 Redis源代碼編譯、安裝與配置
6.1.2 使用Redis
6.1.3 連接相關(guān)命令
6.1.4 key相關(guān)命令
6.1.5 String相關(guān)命令
6.1.6 List相關(guān)命令
6.1.7 Set相關(guān)命令
6.1.8 ZSet相關(guān)命令
6.1.9 Hash相關(guān)命令
6.1.10 事務(wù)相關(guān)命令
6.1.11 發(fā)布/訂閱相關(guān)命令
6.1.12 Lettuce用法簡(jiǎn)介
6.1.13 使用RedisTemplate操作Redis
6.1.14 使用Spring Data Redis
6.1.15 連接多個(gè)Redis服務(wù)器
6.2 整合MongoDB
6.2.1 下載和安裝MongoDB
6.2.2 MongoDB副本集配置
6.2.3 MongoDB安全配置
6.2.4 MongoDB用法簡(jiǎn)介
6.2.5 連接MongoDB與MongoTemplate
6.2.6 使用MongoDB的Repository
6.2.7 連接多個(gè)MongoDB服務(wù)器
6.3 整合Neo4j
6.3.1 理解圖形數(shù)據(jù)庫(kù)
6.3.2 下載和安裝Neo4j
6.3.3 配置Neo4j
6.3.4 CQL概述
6.3.5 使用CREATE創(chuàng)建節(jié)點(diǎn)
6.3.6 使用MATCH查詢節(jié)點(diǎn)、屬性
6.3.7 使用CREATE創(chuàng)建關(guān)系
6.3.8 使用MATCH查詢關(guān)系
6.3.9 使用DELETE刪除節(jié)點(diǎn)或關(guān)系
6.3.10 使用REMOVE刪除屬性或標(biāo)簽
6.3.11 使用SET添加、更新屬性或添加標(biāo)簽
6.3.12 使用UNION和UNION ALL計(jì)算并集
6.3.13 操作索引
6.3.14 操作約束
6.3.15 使用FOREACH、UNWIND處理列表
6.3.16 連接Neo4j與Neo4jTemplate
6.3.17 使用Neo4j的Repository
6.3.18 連接多個(gè)Neo4j服務(wù)器
6.4 整合Cassandra
6.4.1 Cassandra數(shù)據(jù)模型
6.4.2 Cassandra存儲(chǔ)引擎
6.4.3 下載和安裝Cassandra
6.4.4 配置Cassandra
6.4.5 管理keyspace
6.4.6 管理表
6.4.7 CQL的DML
6.4.8 集合類型與用戶定義類型
6.4.9 索引操作及索引列查詢
6.4.10 連接Cassandra與CassandraTemplate
6.4.11 使用Cassandra的Repository
6.4.12 連接多個(gè)Cassandra服務(wù)器
6.5 整合Solr
6.5.1 LIKE模糊查詢與全文檢索
6.5.2 反向索引庫(kù)與Lucene
6.5.3 下載和安裝Solr
6.5.4 管理Solr的Core
6.5.5 使用SolrClient連接Solr
6.5.6 使用Spring Data連接Solr與SolrTemplate
6.5.7 使用Solr的Repository
6.6 整合Elasticsearch
6.6.1 下載和安裝Elasticsearch
6.6.2 Elasticsearch安全配置
6.6.3 Elasticsearch基本用法
6.6.4 使用RESTful客戶端操作Elasticsearch
6.6.5 使用反應(yīng)式RESTful客戶端操作Elasticsearch
6.6.6 使用Spring Data連接Elasticsearch與ElasticsearchRestTemplate
6.6.7 使用Elasticsearch的Repository
6.7 本章小結(jié)

第7章 消息機(jī)制
7.1 面向消息的架構(gòu)和JMS
7.1.1 面向消息的架構(gòu)
7.1.2 JMS的基礎(chǔ)與優(yōu)勢(shì)
7.1.3 理解P2P與Pub-Sub
7.2 整合JMS
7.2.1 安裝和配置ActiveMQ
7.2.2 安裝和配置Artemis
7.2.3 發(fā)送P2P消息
7.2.4 同步接收P2P消息
7.2.5 異步接收P2P消息
7.2.6 發(fā)布和訂閱Pub-Sub消息
7.2.7 可靠的JMS訂閱
7.2.8 Spring Boot的ActiveMQ配置
7.2.9 Spring Boot的Artemis配置
7.2.10 Spring Boot的JNDI ConnectionFactory配置
7.2.11 發(fā)送消息
7.2.12 接收消息
7.3 整合AMQP
7.3.1 安裝和配置RabbitMQ
7.3.2 管理RabbitMQ
7.3.3 RabbitMQ的工作機(jī)制
7.3.4 使用默認(rèn)Exchange支持P2P消息模型
7.3.5 工作隊(duì)列(Work Queue)
7.3.6 使用fanout實(shí)現(xiàn)Pub-Sub消息模型
7.3.7 使用direct實(shí)現(xiàn)消息路由
7.3.8 使用topic實(shí)現(xiàn)通配符路由
7.3.9 RPC通信模型
7.3.10 Spring Boot的RabbitMQ支持
7.3.11 使用AmqpTemplate發(fā)送消息
7.3.12 接收消息
7.4 整合Kafka
7.4.1 安裝Kafka及CMAK
7.4.2 使用CMAK
7.4.3 主題和分區(qū)
7.4.4 消息生產(chǎn)者
7.4.5 消費(fèi)者與消費(fèi)者組
7.4.6 使用Kafka核心API
7.4.7 使用Kafka流API
7.4.8 Spring Boot對(duì)Kafka的支持
7.4.9 發(fā)送消息
7.4.10 接收消息
7.4.11 Spring Boot整合Kafka流API
7.5 本章小結(jié)

第8章 高并發(fā)秒殺系統(tǒng)
8.1 項(xiàng)目背景及系統(tǒng)架構(gòu) 640
8.2 項(xiàng)目搭建 643
8.3 領(lǐng)域?qū)ο髮? 645
8.4 實(shí)現(xiàn)Mapper(DAO)層 649
8.5 分布式Session及用戶登錄的實(shí)現(xiàn) 652
8.6 秒殺商品列表及緩存的實(shí)現(xiàn) 668
8.7 商品秒殺界面的實(shí)現(xiàn)及靜態(tài)化 675
8.8 秒殺實(shí)現(xiàn)及使用RabbitMQ實(shí)現(xiàn)并發(fā)削峰 684
8.9 訂單界面的實(shí)現(xiàn)及靜態(tài)化 695
8.10 本章小結(jié) 699


本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)