《Spring Data Access源碼精講》是2022年清華大學出版社出版的圖書,作者是王濤。
基本介紹
- 中文名:Spring Data Access源碼精講
- 作者:王濤
- 出版社:清華大學出版社
- 出版時間:2022年11月1日
- 定價:88 元
- ISBN:9787302613848
內容簡介,圖書目錄,
內容簡介
本書圍繞Spring Data Access相關技術,著重強調方法的流程分析和成員變數的分析,測試用例的數量相對較少。 本書內容包含Spring Data Access中的四大核心模組的使用及其源碼分析,四大模組分別是spring-jdbc、spring-tx、spring-orm和spring-oxm。本書可以幫助讀者快速掌握這四大模組的基本使用方法以及Spring Data Access中常見接口的處理流程。 本書的源碼分析大部分情況下遵循測試用例優先,儘可能保證源碼可復現。 本書適合作為具有一定Java編程基礎的讀者、對Spring框架有基礎開發能力的讀者和對Spring Data Access開發有一定實踐經驗的讀者的參考用書。
圖書目錄
第1章 Spring數據源碼環境搭建與核心類介紹
1.1 spring-jdbc測試環境搭建
1.1.1 spring-jdbc基於SpringXML環境搭建
1.1.2 spring-jdbc基於Spring註解模式環境搭建
1.2 spring-orm測試環境搭建
1.2.1 spring-orm基於SpringXML環境搭建
1.2.2 spring-orm基於Spring註解模式環境搭建
1.3 Spring數據操作中的核心類
1.4 總結
第2章 JdbcTemplate類分析
2.1 初識JdbcTemplate類
2.1.1 DataSource分析
2.1.2 JdbcTemplate的初始化
2.2 JdbcTemplate中的執行操作分析
2.2.1 獲取資料庫連結對象
2.2.2 套用Statement的配置數據
2.2.3 處理警告信息
2.2.4 釋放連結對象
2.2.5 配合PreparedStatementCreator和PreparedStatementCallback的執行操作
2.2.6 配合ConnectionCallback的執行操作
2.3 JdbcTemplate中的查詢操作分析
2.3.1 RowMapperResultSetExtractor對象分析
2.3.2 query方法分析
2.3.3 RowMapper接口分析
2.3.4 ResultSetExtractor對象分析
2.4 JdbcTemplate中的更新操作分析
2.4.1 配合PreparedStatementCreator和PreparedStatementSetter的更新操作
2.4.2 配合SQL的批量更新
2.5 PreparedStatementCreator和PreparedStatementSetter接口分析
2.5.1 PreparedStatementCreatorImpl對象分析
2.5.2 SimplePreparedStatementCreator對象分析
2.5.3 ArgumentTypePreparedStatementSetter對象分析
2.5.4 ArgumentPreparedStatementSetter對象分析
2.6 NamedParameterJdbcTemplate分析
2.6.1 NamedParameterJdbcTemplate中的執行操作
2.6.2 NamedParameterJdbcTemplate中的更新操作
2.6.3 NamedParameterJdbcTemplate中的查詢操作
2.7 SqlParameterSource接口分析
2.7.1 EmptySqlParameterSource類分析
2.7.2 AbstractSqlParameterSource類分析
2.7.3 BeanPropertySqlParameterSource類分析
2.7.4 MapSqlParameterSource類分析
2.8 JdbcTemplate中的call方法分析
2.8.1 extractReturnedResults方法分析
2.8.2 extractOutputParameters方法分析
2.9 總結
第3章 SimpleJdbc類分析
3.1 SimpleJdbcInsert測試環境搭建
3.2 SimpleJdbcCall測試環境搭建
3.3 SimpleJdbcInsert類分析
3.3.1 SimpleJdbcInsert初始化分析
3.3.2 SimpleJdbcInsert執行方法分析
3.4 SimpleJdbcCall類分析
3.4.1 SimpleJdbcCall中的checkCompiled方法分析
3.4.2 SimpleJdbcCall中的matchInParameterValuesWithCallParameters方法分析
3.4.3 SimpleJdbcCall中的executeCallInternal方法分析
3.5 總結
第4章 RdbmsOperation 類分析
4.1 RdbmsOperation測試環境搭建
4.1.1 SqlQuery測試環境搭建
4.1.2 SqlUpdate測試環境搭建
4.2 初識RdbmsOperation類
4.3 SqlOperation類分析
4.4 SqlQuery類分析
4.5 SqlUpdate類分析
4.6 總結
第5章 spring-jdbc中的數據源對象
5.1 spring-jdbc數據源對象梗概
5.2 委派模式下的數據源
5.2.1 TransactionAwareDataSourceProxy中獲取資料庫連結對象
5.2.2 UserCredentialsDataSourceAdapter中獲取資料庫連結對象
5.2.3 IsolationLevelDataSourceAdapter中獲取資料庫連結對象
5.2.4 WebSphereDataSourceAdapter中獲取資料庫連結對象
5.3 AbstractDataSource 系列的數據源
5.4 總結
第6章 spring-jdbc中異常分析
6.1 SQLErrorCodesFactory 分析
6.1.1 SQL異常狀態碼初始化
6.1.2 SQLErrorCodes對象分析
6.2 SQLExceptionTranslator接口分析
6.2.1 AbstractFallbackSQLExceptionTranslator類分析
6.2.2 SQLExceptionSubclassTranslator類分析
6.2.3 SQLStateSQLExceptionTranslator類分析
6.2.4 SQLErrorCodeSQLExceptionTranslator類分析
6.3 總結
第7章 spring-jdbc與嵌入式資料庫
7.1 嵌入式資料庫環境搭建
7.2 嵌入式資料庫實例化分析
7.2.1 configureConnectionProperties方法分析
7.2.2 DatabasePopulatorUtils.execute分析
7.3 總結
第8章 Spring事務中的三個關鍵類
8.1 Spring 事務測試環境搭建
8.2 事務相關接口說明
8.2.1 TransactionExecution接口
8.2.2 SavepointManager接口
8.2.3 TransactionStatus接口
8.2.4 TransactionDefinition接口
8.2.5 PlatformTransactionManager接口
8.2.6 TransactionCallback接口
8.2.7 TransactionOperations接口
8.2.8 TransactionFactory接口
8.3 AbstractPlatformTransactionManager類分析
8.3.1 handleExistingTransaction方法分析
8.3.2 suspend方法分析
8.3.3 newTransactionStatus方法分析
8.3.4 prepareSynchronization方法分析
8.3.5 prepareTransactionStatus 方法分析
8.3.6 doSuspendSynchronization方法分析
8.3.7 doResumeSynchronization方法分析
8.3.8 AbstractPlatformTransactionManager中commit方法分析
8.3.9 AbstractPlatformTransactionManager中rollback方法分析
8.3.10 AbstractPlatformTransactionManager特殊方法說明
8.4 DataSourceTransactionManager類分析
8.4.1 DataSourceTransactionManager中InitializingBean接口實現分析
8.4.2 DataSourceTransactionManager中doBegin方法分析
8.4.3 DataSourceTransactionManager中doSuspend方法分析
8.4.4 DataSourceTransactionManager中doResume方法分析
8.4.5 DataSourceTransactionManager中doCommit方法分析
8.4.6 DataSourceTransactionManager中doRollback方法分析
8.4.7 DataSourceTransactionManager中doSetRollbackOnly方法分析
8.4.8 DataSourceTransactionManager中doCleanupAfterCompletion方法分析
8.5 TransactionTemplate類分析
8.6 總結
第9章 EnableTransactionManagement相關分析
9.1 EnableTransactionManagement註解簡介
9.2 TransactionManagementConfigurationSelector類分析
9.3 AutoProxyRegistrar類分析
9.4 ProxyTransactionManagementConfiguration類分析
9.5 AspectJTransactionManagementConfiguration類分析
9.6 AspectJJtaTransactionManagementConfiguration類分析
9.7 AbstractTransactionManagementConfiguration類分析
9.8 TransactionalEventListenerFactory類分析
9.9 總結
第10章 Spring事務切面支持
10.1 TransactionAspectSupport類分析
10.2 TransactionInterceptor類分析
10.3 ReactiveTransactionSupport類分析
10.3.1 回響式createTransactionIfNecessary方法分析
10.3.2 回響式prepareTransactionInfo方法分析
10.3.3 回響式commitTransactionAfterReturning方法分析
10.3.4 回響式completeTransactionAfterThrowing方法分析
10.3.5 回響式invokeWithinTransaction 方法分析
10.4 總結
第11章 事務定義及事務屬性源對象分析
11.1 事務定義和事務屬性介紹
11.2 默認的事務屬性對象及其子類
11.3 默認的事務定義
11.4 靜態事務定義
11.5 委派事務定義及其子類
11.6 TransactionAttributeSource基礎認識
11.7 NameMatchTransactionAttributeSource類分析
11.8 AbstractFallbackTransactionAttributeSource類分析
11.9 CompositeTransactionAttributeSource類分析
11.10 MethodMapTransactionAttributeSource類分析
11.11 總結
第12章 Spring事務註解解析接口
12.1 初識TransactionAnnotationParser接口
12.2 Ejb3TransactionAnnotationParser類分析
12.3 JtaTransactionAnnotationParser類分析
12.4 SpringTransactionAnnotationParser類分析
12.5 總結
第13章 保存點管理器、事務工廠與事務執行器
13.1 初識SavepointManager
13.2 AbstractTransactionStatus及其子類分析
13.3 JdbcTransactionObjectSupport類分析
13.3.1 HibernateTransactionObject類
13.3.2 JpaTransactionObject類
13.3.3 DataSourceTransactionObject類
13.4 初識事務工廠
13.5 SimpleTransactionFactory類分析
13.6 JtaTransactionManager 及其子類分析
13.6.1 InitializingBean接口實現細節
13.6.2 AbstractPlatformTransactionManager中doGetTransaction方法的實現
13.6.3 WebLogicJtaTransactionManager類分析
13.6.4 WebSphereUowTransactionManager類分析
13.7 初識事務執行器
13.8 總結
第14章 AbstractPlatformTransactionManager子類分析
14.1 CciLocalTransactionManager類分析
14.1.1 getResourceFactory方法分析
14.1.2 doGetTransaction方法分析
14.1.3 isExistingTransaction方法分析
14.1.4 doBegin 方法分析
14.1.5 doSuspend 方法分析
14.1.6 doResume方法分析
14.1.7 doCommit方法分析
14.1.8 doRollback方法分析
14.1.9 doSetRollbackOnly方法分析
14.1.10 doCleanupAfterCompletion方法分析
14.2 JpaTransactionManager類分析
14.3 HibernateTransactionManager類分析
14.4 總結
第15章 Spring事務處理流程分析
15.1 Spring註解模式下事務處理流程
15.2 總結
第16章 spring-orm與Hibernate基礎分析
16.1 spring-orm與Hibernate環境搭建之基於Spring註解
16.2 spring-orm與Hibernate環境搭建之基於SpringXML
16.3 LocalSessionFactoryBean類分析
16.4 初識HibernateTemplate類
16.5 doExecute方法分析
16.6 總結
第17章 spring-orm模組中Hibernate框架的重點類分析
17.1 OpenSessionInViewInterceptor類分析
17.2 HibernateDaoSupport類分析
17.3 OpenSessionInterceptor類分析
17.4 OpenSessionInViewFilter類分析
17.5 SessionHolder類分析
17.6 SpringBeanContainer類分析
17.7 SpringSessionContext類分析
17.8 總結
第18章 spring-orm模組中JPA的persistenceunit和support
18.1 初識persistenceunit
18.2 PersistenceUnitManager接口分析
18.3 SmartPersistenceUnitInfo接口分析
18.4 AsyncRequestInterceptor類分析
18.5 OpenEntityManagerInViewFilter類分析
18.6 OpenEntityManagerInViewInterceptor類分析
18.7 PersistenceAnnotationBeanPostProcessor類分析
18.8 SharedEntityManagerBean類分析
18.9 總結
第19章 spring-orm模組中JPA核心對象分析
19.1 AbstractEntityManagerFactoryBean類分析
19.1.1 LocalEntityManagerFactoryBean類分析
19.1.2 LocalContainerEntityManagerFactoryBean類分析
19.2 JpaVendorAdapter接口分析
19.2.1 AbstractJpaVendorAdapter類分析
19.2.2 HibernateJpaVendorAdapter類分析
19.2.3 EclipseLinkJpaVendorAdapter類分析
19.3 ExtendedEntityManagerCreator類分析
19.4 EntityManagerFactoryUtils類分析
19.5 總結
第20章 spring-oxm分析
20.1 spring-oxm測試環境搭建
20.2 AbstractMarshaller類分析
20.3 XStreamMarshaller類分析
20.4 總結