书籍详情
Spring Data Access源码精讲
作者:王涛
出版社:清华大学出版社
出版时间:2022-11-01
ISBN:9787302613848
定价:¥88.00
购买这本书可以去
内容简介
本书围绕Spring Data Access相关技术,着重强调方法的流程分析和成员变量的分析,测试用例的数量相对较少。 本书内容包含Spring Data Access中的四大核心模块的使用及其源码分析,四大模块分别是spring-jdbc、spring-tx、spring-orm和spring-oxm。本书可以帮助读者快速掌握这四大模块的基本使用方法以及Spring Data Access中常见接口的处理流程。 本书的源码分析大部分情况下遵循测试用例优先,尽可能保证源码可复现。 本书适合作为具有一定Java编程基础的读者、对Spring框架有基础开发能力的读者和对Spring Data Access开发有一定实践经验的读者的参考用书。
作者简介
王涛,长期从事Java EE、微服务相关技术领域的开发,对Spring系列框架、MyBatis等其他开源框架都有深刻认识。
目录
第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 总结
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 总结
猜您喜欢