Java Web進階開發實戰:高效編寫Spring Boot應用框架及類spring生態

寇波

  • 出版商: 機械工業
  • 出版日期: 2025-08-01
  • 售價: $714
  • 語言: 簡體中文
  • 頁數: 374
  • ISBN: 7111787102
  • ISBN-13: 9787111787105
  • 相關分類: Java 相關技術
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書是Java Web編程之Spring系列,主要介紹Spring生態下的框架編寫技巧,以及自編類Spring的大型框架及相關生態的思路和具體實現。本書共分兩篇, ~4章為第1篇,介紹Spring底層的運行原理和動態代理機制;第5~8章為第2篇,是綜合實戰,展示了在Spring生態下不同類型框架的詳細編寫方法,以及自編類Spring框架及其“全家桶”的完整實現過程。第1篇的內容是為第2篇服務的,第2篇實戰時用到的很多知識和思想均源自第1篇。 本書是一本專註於面向抽象編程的進階指南,讀者對象為依托Spring生態的通用框架編寫者,以及基於Spring編碼的各層次業務程序員。

作者簡介

寇波,畢業於浙江大學,多年來一直從事Java生態相關開發工作。從事過J2ME手機遊戲開發、Java桌面應用開發、Java Web開發和Flink大數據開發。曾就職於京東,擔任智能客服產品交付的技術負責人。強烈熱愛編程,喜歡鉆研深層次的技術原理。

目錄大綱

第1篇 Spring的重要特性解析
第1章 準備活動/
1.1 相關說明和約定/
1.2 新建Spring Boot項目/
1.2.1 初始化頁/
1.2.2 配置微調/
1.2.3 自由編碼/
1.3 本章小結/
第2章 Spring運行時的核心組成——Bean/
2.1 控制反轉(IoC)和依賴註入(DI)簡介/
2.1.1 IoC和DI的思想/
2.1.2 Spring中的IoC容器/
2.2 Bean的獲取/
2.2.1 常規依賴註入/
2.2.2 依賴查找/
2.3 Bean的創建和初始化/
2.3.1 模式註解和註解掃描/
2.3.2 配置/
2.3.3 BeanDefinition/
2.3.4 調用接口創建Bean/
2.3.5 @Import註解/
2.3.6 SPI機制/
2.3.7 FactoryBean/
2.3.8 與初始化相關的註解和接口/
2.4 Bean的誕生過程/
2.4.1 BeanFactory與DI、DL的關系/
2.4.2 DL的底層邏輯/
2.4.3 原始Bean的誕生/
2.4.4 DI的底層邏輯和批量註入時的排序機制/
2.4.5 Bean的初始化邏輯/
2.4.6 SmartInitializingSingleton的運行時機/
2.5 Bean相關的其他重要內容/
2.5.1 Spring Boot的主啟動流程/
2.5.2 SPI機制實現原理簡介/
2.5.3 由Source載入BeanDefinition的過程/
2.5.4 解析配置的過程/
2.6 本章小結/
第3章 屬性值/
3.1 常用的值獲取/
3.2 使用第三方工具註入值/
3.2.1 靜態變量與實例變量的統一註入/
3.2.2 註入至final或static final變量/
3.3 @Value註入的底層邏輯簡析/
3.3.1 值查找的底層邏輯/
3.3.2 值註入的底層邏輯/
3.4 本章小結/
第4章 動態代理/
4.1 代理的相關介紹/
4.1.1 靜態代理/
4.1.2 使用動態代理/
4.1.3 動態代理實現原理簡介/
4.2 註解的底層實現/
4.2.1 編譯時處理Retention/
4.2.2 註解的“真實身份”和屬性的類型約束/
4.3 本章小結/
第2篇 綜 合 實 戰
第5章 框架編寫的一些原則/
5.1 面向技術的原則/
5.1.1 編程對象的轉換/
5.1.2 JDK的版本選擇/
5.1.3 第三方組件的取舍/
5.1.4 pom文件的依賴配置/
5.1.5 框架中可以使用的工具類/
5.2 面向用戶的原則/
5.2.1 提供給用戶的擴展點/
5.2.2 提供默認實現/
5.2.3 降級方案/
5.2.4 擴展點的取舍/
5.3 軟件設計之SOLID原則/
5.3.1 單一職責原則(Single Responsibility Principle)/
5.3.2 開閉原則(Open Closed Principle)/
5.3.3 裏氏替換原則(Liskov Substitution Principle)/
5.3.4 接口隔離原則(Interface Segregation Principle)/
5.3.5 依賴倒置原則(Dependence Inversion Principle)/
5.4 本章小結/
第6章 統一的Controller——UniController/
6.1 問題起源/
6.2 解析問題並選定方案/
6.3 框架設計/
6.3.1 UniController支持的功能和方法形參設計/
6.3.2 DAO接口的標記/
6.4 具體編碼實現/
6.4.1 工程結構/
6.4.2 JDK約定和依賴選擇/
6.4.3 UniController的編碼實現/
6.4.4 UniService的技術設計/
6.4.5 UniService的技術細節/
6.5 測試/
6.5.1 測試JPA/
6.5.2 測試MyBatis/
6.6 本章小結/
第7章 仿JPA:通過接口方法名執行邏輯——Calculator/
7.1 需求場景和準備/
7.1.1 方法名約定和自定義運算/
7.1.2 定義身份註解和接口/
7.1.3 定義@Enable×××註解/
7.2 具體編寫實現/
7.2.1 解析方法名和計算表達式/
7.2.2 編寫動態代理之InvocationHandler實現類/
7.2.3 計算攔截器CalculateInterceptor/
7.2.4 啟動時掃描用的ImportBeanDefinitionRegistrar/
7.3 測試Calculator框架/
7.3.1 測試模塊的pom文件/
7.3.2 編寫Calculator用戶組件/
7.3.3 編寫攔截器CalculateInterceptor/
7.3.4 編寫測試代碼/
7.4 推廣/
7.5 本章小結/
第8章 自編類Spring框架及生態——Universe/
8.1 框架命名/
8.2 Universe核心模塊/
8.2.1 核心註解/
8.2.2 核心接口/
8.2.3 大綱及基礎工具/
8.2.4 編碼實現——基本說明和StarDefinition/
8.2.5 編碼實現——StarDefinitionHolder接口/
8.2.6 編碼實現——StarDataHolder接口/
8.2.7 Universe的配套接口/
8.2.8 Universe接口及其前置邏輯/
8.2.9 Universe接口之getStar/
8.2.10 Universe其他方法/
8.2.11 Universe的啟動流程/
8.3 測試Universe/
8.3.1 通用測試/
8.3.2 獨立模塊的自動配置/
8.3.3 測試SuperCluster/
8.4 Universe生態下的Web框架——Singularity/
8.4.1 Web框架命名/
8.4.2 註解和接口設計/
8.4.3 SingularityManager接口的設計和準備/
8.4.4 SingularityManager#findAllSingularities方法/
8.4.5 Servlet實現類的設計和具體實現/
8.4.6 SingularitySuperCluster和自動配置類/
8.4.7 啟動Servlet容器/
8.4.8 測試Singularity/
8.5 僅三個類的ORM框架——UniverseMybatis/
8.5.1 個類:自動配置DataSource和SqlSessionFactory/
8.5.2 第二個類:用於JDK動態代理的InvocationHandler/
8.5.3 第三個類:掃描和自行創建Star的SuperCluster/
8.5.4 測試UniverseMybatis/
8.6 Universe中的AOP框架——Wormhole/
8.6.1 依賴說明/
8.6.2 大致思路/
8.6.3 UniverseJoinPoint組件/
8.6.4 動態代理組件/
8.6.5 StarRound組件和自動配置/
8.6.6 測試Wormhole/
8.7 余興節目/
8.7.1 無實物表演——丟掉主啟動類的main方法/
8.7.2 讓我們的應用可以 部署——打包運行/
8.7.3 未完成或可改進的部分/
8.8 本章小結

最後瀏覽商品 (20)