Spring Data实战.pdf

Spring Data实战.pdf
 

书籍描述

内容简介
  数据访问领域正在发生一场变革,关系型数据库无法解决的问题需要新的数据访问技术来解决。Spring Data项目就是一种简化Java应用构建的数据访问技术,它可以帮助开发人员高效地使用最新的数据处理和管理工具,同时还能够以最新的方式使用传统的数据库。
  《Spring Data实战》从Spring Data背景知识、关系型数据库、NoSQL、快速应用开发、大数据、数据网格6个方面深度解析了数据访问技术,介绍的内容都是最流行和前沿的,其中文档数据库、图数据库、键/值存储、Hadoop以及GemFire数据结构等是最重要的内容。《Spring Data实战》介绍了Spring Data、Repository、Querydsl的基础理念,然后阐述了借助Spring Data如何简化NoSQL和大数据的访问,并且涵盖了使用Spring Roo和Spring Data REST导出功能如何实现应用的快速开发,除此之外,书中还涉及与其他Spring子项目的协同工作,如Spring Integration和Spring Batch。
  《Spring Data实战》面向实战、结构清晰,示例丰富,适用于各类Java开发人员和数据库开发人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材。

编辑推荐
基于关系型数据库构建企业级Java应用时,会有多个数据访问框架供你选择。但是该如何应对大数据呢?《Spring Data实战》以实际经验介绍了借助Spring Data如何便利地构建应用,这些应用会用到多种新的数据访问技术,如NoSQL和Hadoop。

通过多个样例项目,你会学到Spring Data所提供的一致编程模型,这种模型保留了每种NoSQL数据库专有的特性以及功能,并且能够帮助你开发Hadoop应用来应对广泛的用例场景,如数据分析、事件流处理以及工作流。你还能学到,为了编写基于RDBMS的数据访问层,Spring Data为Spring已有的JPA和JDBC添加了哪些功能支持。

学习使用Spring的模板帮助类来简化数据库的特定功能;
探索Spring Data的Repository抽象以及高级查询功能;
借助Spring Data来使用Redis(键/值存储)、HBase(列族)、MongoDB(文档数据库)以及Neo4j(图数据库);
探索GemFire分布式数据网格解决方案;
将Spring Data JPA管理的实体以RESTful Web服务的形式导出到Web中;
使用轻量级的对象映射框架,简化HBase应用的开发;
使用Spring Batch和Spring Integration构建大数据管道。

媒体推荐
“你将会深刻理解现代的数据访问为何更加专门化和碎片化,NoSQL数据存储的主要分类有哪些,Spring Data如何帮助Java开发人员在新的环境下高效工作。”
——Rod Johnson
Spring框架创始人


“通过切换到Spring Batch和Spring Data,我们彻底简化并降低了与Hadoop交互所带来的复杂性,同时增加了可靠性”。

——David Gevorkyan
软件工程师,eHarmony

作者简介
Mark Pollack博士曾在布鲁克黑文国家实验室研究高能物理学方面的大数据解决方案,随后转移到金融服务领域担任前端交易系统的技术领导和架构师。他长期以来关注软件开发流程的最佳实践和改善,Mark从2003年就参与核心Spring(Java)的开发,并在2004年成立了Microsoft对应的项目也就是Spring.NET。Mark现在领导着Spring Data项目,在使用大数据和NoSQL数据库这些新技术时,这个项目能够简化应用的开发。
Oliver Gierke是SpringSource的工程师,这是VMware 的一个子部门,目前他担任Spring Data JPA、MongoDB以及核心模块的领导者。他参与企业级应用和开源项目的开发已经超过了6年,其工作的关注点在软件架构、Spring以及持久化技术方面。他经常在德国以及一些国际会议上进行演讲,写过很多的技术文章。
Thomas Risberg目前是Spring Data团队的成员,关注于MongoDB和JDBC扩展项目。他也是Spring框架项目的提交者,主要的贡献在于对JDBC框架的增强方面。Thomas在VMware的Cloud Foundry团队,为Cloud Foundry所支持的各种框架和语言开发集成方案。他是《Professional Java Development with the Spring Framework》一书的合著者,这本书出版于2005年,作者还包括Rod Johnson、Juergen Hoeller、Alef Arendsen以及Colin Sampaleanu。
Jon Brisbin是SpringSource Spring Data团队的成员,致力于为开发人员提供有用的库,从而简化下一代数据形式的管理。他曾帮忙将Grails GORM的对象映射器转移到基于Java的应用程序之中,并为集成Riak数据存储与RabbitMQ消息代理提供组件。除此之外,他还针对事件应用模型撰写博客并发表演讲,他勤奋工作的领域还包括为前沿的非阻塞模式和传统的基于JVM的应用搭建桥梁。
Michael Hunger长期热衷于软件开发。他尤其关注于开发软件的人、软件技艺、编程语言以及代码提升。最近两年间,他与Neo Technology协作开发Neo4j图数据库。作为Spring Data Neo4j的领导者,他为对象-图映射开发出了便利且完整的解决方案。他还参与Neo4j云托管。作为一名开发人员,Michael喜欢使用各种编程语言、每天学习新的东西、参与有趣且有前景的开源项目,并且参与编写了多本与编程相关的图书。Michael还是InfoQ的活跃编辑和采访者。

目录
第一部分背景知识
第1章Spring Data项目
1.1为Spring开发人员提供的NoSQL数据访问功能
1.2主题概述
1.3领域
1.4示例代码
1.4.1将源码导入到IDE
第2章Repository:便利的数据访问层
2.1快速入门
2.2定义查询方法
2.2.1查找查询的策略
2.2.2衍生查询
2.2.3分页和排序
2.3定义R印ository
2.3.1调整Repository接口
2.3.2手动实现Repository方法
2.4IDE集成
2.4.1IntelliIDEA
第3章使用Querydsl实现类型安全的查询
3.1 Querydsl简介
3.2生成查询元模型
3.2.1构建系统集成
3.2.2所支持的注解处理器
3.2.3使用Querydsl对存储进行查询
3.3集成Spring Data Repository
3.3.1执行断言
3.3.2手动实现Repository
第二部分关系型数据库
第4章J PA Repository
4.1示例工程
4.2传统方式
4.3启动示例代码
4.4使用Spring Data Repository
4.4.1事务性
4.4.2 Repository与Querydsl集成
第5章借助Querydsl SQL实现类型安全的JDBC编程
5.1示例工程与搭建过程
5.1.1 HyperSQL数据库
5.1.2 Querydsl的SQL模块
5.1.3构建系统集成
5.1.4数据库模式
5.1.5示例工程的领域实现
5.2 QueryDsljdbcTemplate
5.3执行查询
5.3.1Repository实现起步
5.3.2查询单个对象
5.3.30neToManyResultSetExtractor抽象类
5.3.4 CustomerListExtractor实现
5.3.5 RowMapper的实现类
5.3.6查询对象列表
5.4插入、更新和删除操作
5.4.1使用SQLInsertClause进行插入操作
5.4.2使用SQLUpdateClause进行更新操作
5.4.3使用SQLDeleteClause进行删除行操作
第三部分NoSQL
第6章MongoDB:文档存储
6.1MongoDB简介
6.1.1设置MongoDB
6.1.2使用MongoDB Shell
6.1.3 MongoDB Java驱动
6.2使用Spring命名空间搭建基础设施
6.3映射模块
6.3.1领域模型
6.3.2搭建映射的基础设施
6.3.3索引
6.3.4自定义转换
6.4 MOngo Template
6.5MongoRepository
6.5.1搭建基础设施
6.5.2 Repository详解
6.5.3 MongoQuerydsl集成
第7章Ne04j:图数据库
7.1图数据库
7.2 Ne04j
7.3 Spring DataNep4j概览
7.4将领域建模为图
7.5使用Spring Data Neo4j持久化领域对象
7.5.1 Ne04jTemplate
7.6组合发挥图和Repository的威力
7.6.1基本的图Repository操作
7.6.2衍生和基于注解的查找方法
7.7示例领域模型中的高级图用例
7.7.1单个节点的多重角色
7.7.2以产品分类和标签为例讲解图中的索引
7.7.3利用类似的兴趣(协同过滤)
7.7.4推荐
7.8事务、实体生命周期以及抓取策略
7.9高级映射模型
7.10使用Ne04j服务器
7.11从这里继续学习
第8章Redis:键/值存储
8.1Redis概述
8.1.1搭建Redis
8.1.2使用Redis Shell
8.2连接到Redis
8.3对象转换
8.4对象映射
8.5原子级计数器
8.6发布/订阅功能
8.6.1对信息进行监听和响应
8.6.2在Redis中使用Spring的缓存抽象
第四部分快速应用开发
第9章使用Spring Roo实现持久层
9.1 Roo简介
9.2Roo的持久层
9.3快速起步
9.3.1借助命令行使用Roo
9.3.2借助Spring Tool Suite使用Roo
9.4Spring Roo JPA Repository示例
9.4.1创建工程
9.4.2搭建JPA持久化
9.4.3创建实体
9.4.4定义Repository
9.4.5创建Web层
9.4.6运行示例
9.5Spring MongoDB JPA Repository的例子
9.5.1创建工程
9.5.2搭建MongoDB持久化
9.5.3创建实体
9.5.4定义Repository
9.5.5创建Web层
9.5.6运行示例
第10章REST Repository导出器
10.1示例工程
10.1.1 与Rest导出器进行交互
10.1.2访问Product
10.1.3访问Customer
10.1.4访问Order
第五部分大数据
第六部分数据网格

文摘
版权页:



插图:



稍后,声明了一个Repository Rest Exporter Servlet,它负责真正有意思的部分。它会注册很多的Spring MVC基础设施组件并会探查到用于Spring Data Repository实例的根应用上下文,并会为那些实现了Crud Repository接口的所有Repository暴露HTTP资源。目前来说这是个限制,这个模块的后续版本会将其移除。我们将servlet映射到servlet根上,这样这个应用就可以通过http://localhost:8080进行访问了。
10.1.1 与Rest导出器进行交互
现在已经启动了应用,来看一下实际上是怎样使用它的。使用命令行工具curl来与系统进行交互,因为它提供了一种便利的方式来触发HTTP请求并且它显示响应的方式非常适合在书中进行展现。当然,可以使用其他能够触发HTTP请求的客户端:命令行工具(如Windows下的wget)或者直接使用所选择Web浏览器。要注意的是,后者只允许通过URL地址栏触发GET请求。如果想使用更为高级的请求(POST、PUT、DELETE等),建议使用浏览器插件,如针对Google Chrome的Dev HTTP Client(http://bit.ly/P251Ct)。对于其他的浏览器来说,也有类似的工具可供使用。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多