![]()
内容推荐 本书围绕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 handle 序言 前言 在Spring框架中Spring Data Access相关模块负 责进行数据访问。初识Spring Data Access是在2015 年的一个项目中,当时项目中使用的是Spring 4.1版本 ,该版本的功能虽然已经比较强大,但是对各类配置文 件的处理比较烦琐。笔者对于Spring Data Access中 的一些实现细节十分感兴趣,并付诸实践,记录了一些 源码的流程,同时想把这些经验分享给更多的人,便有 了《Spring Data Access源码精讲》。《Spring Data Access源码精讲》的组织结构和主要内容《Spring Data Access源码精讲》共20章。第1~7章主要围绕 spring-jdbc模块中的技术进行分析,主要包含常见的 spring-jdbc的使用以及核心类的分析,内容如下。第1 章对Spring Data Access框架的使用进行说明,对 spring-jdbc项目中核心类进行介绍,并介绍了 spring-orm测试环境的搭建,对spring-jdbc与 spring-orm都采用了两套搭建模式,分别是Spring XML和Spring注解。第2章对spring-jdbc模块中的 JdbcTemplate类进行全面分析,包含JdbcTemplate类 的基础构造(接口及类继承关系)分析,并对 JdbcTemplate类中的执行方法、查询方法、更新方法做 了细节分析。第3章对spring-jdbc模块中的 SimpleJdbc类进行全面分析,包含SimpleJdbc的测试 环境搭建,主要对SimpleJdbcInsert类和 SimpleJdbcCall类的使用进行说明,同时对这两个类的 处理流程做出相关分析。第4章对spring-jdbc模块中的 RdbmsOperation类进行全面分析,包含 RdbmsOperation的测试环境搭建,主要对SqlQuery类 和SqlUpdate类的使用进行说明,同时对SqlQuery、 SqlUpdate和RdbmsOperation类进行分析。第5章对 spring-jdbc模块中的数据源对象进行全面分析,主要 围绕数据源DataSource进行说明,介绍了spring-jdbc 中关于委派模式下数据源的种类以及处理方式。第6章 对spring-jdbc模块中的异常相关内容进行分析,主要 包含spring-jdbc中SQL异常状态码的初始化以及SQL异 常状态码转换的相关内容。第7章对spring-jdbc模块中 的嵌入式数据库进行分析,包含嵌入式数据库相关测试 环境搭建以及嵌入式数据库实例化相关流程分析。第8 ~15章主要围绕spring-tx模块中的技术进行分析,主 要内容包含spring-tx中核心类以及事务处理相关内容 的分析,内容如下。第8章对spring-tx模块中的三个核 心类进行分析,主要对spring-tx中 AbstractPlatform- TransactionManager、 DataSourceTransactionManager和 TransactionTemplate三个类进行分析,并对周边相关 接口进行说明。第9章对spring-tx模块中的 EnableTransactionManagement注解进行分析,包含 EnableTransactionManagement注解的使用以及注解的 实现底层处理,该注解的分析入口是 TransactionManagementConfigurationSelector,围 绕TransactionManagementConfigurationSelector类 引出spring-tx中的关于事务配置的处理。第10章对 spring-tx模块中的事务切面相关内容进行分析,包含 TransactionAspectSupport类的分析和 TransactionInterceptor类的分析。第11章对 spring-tx模块中的事务定义及事务属性源对象进行分 析,包含事务的定义和事务属性的介绍,关于它们的介 绍主要与接口方法相关,除此之外还对其中比较关键的 实现类进行了相关说明。第12章对spring-tx模块中的 事务注解解析接口进行分析,包含 TransactionAnnotationParser接口的三个子类的分析 。第13章对spring-tx模块中的事务工厂和事务执行器 进行分析,包含SavepointManager接口和 TransactionFactory接口在spring-tx中的具体实现过 程。第14章对spring-tx模块中的 AbstractPlatformTransactionManager子类进行分析 ,包含CciLocalTransactionManager、 JpaTransactionManager、 HibernateTransactionManager类的分析,着重对 CciLocalTransactionManager类中的各实现细节方法 进行分析。第15章对整体的Spring事务处理流程进行说 明。第16~19章主要围绕spring-orm模块中的技术进行 分析,内容如下。第16章对spring-orm与Hibernate框 架的整合进行了环境搭建并且对Spring ORM中 Hibernate的两个基础类进行分析,这两个基础类是 LocalSessionFactoryBean和HibernateTemplate。第 17章对spring-orm模块中关于Hibernate的一些核心类 进行分析。第18章对spring-orm模块中关于JPA的 persistenceunit和support相关包进行分析。第19章 对spring-orm模块中关于JPA的核心类进行分析,主要 围绕AbstractEntityManager- FactoryBean类、 JpaVendorAdapter接口、 ExtendedEntityManagerCreator类和EntityManager- FactoryUtils类进行说明。第20章主要围绕spring- oxm相关的技术进行分析。《Spring Data Access源码 精讲》源码可以扫描下方二维码下载。 源代码读者对象《Spring Data Access源码精讲 》适合作为具有一定Java编程基础的读者、对Spring框 架有基础开发能力的读者和对Spring Data Access开 发有一定实践经验的读者的参 |