Spring Data for Mongo 介绍
jopen
10年前
本文将快速介绍Spring Data for Mongo的使用。
Spring Data for MongoDB是Spring Data的一个子模块。 目标是为MongoDB提供一个相近的一致的基于Spring的编程模型。
Spring Data for MongoDB核心功能是映射POJO到Mongo的DBCollection中的文档,并且提供Repository 风格数据访问层。
相似的ORM/持久化框架还有
- morphia: MongoDB官方支持的ORM框架,可以很好的和Spring, Guice等DI框架集成,使用起来很方便。
- Hibernate OGM: Hibernate提供了Hibernate风格的NoSql ORM框架。
- jongo: 提供Mongo shell一样灵活的查询,并且提供ORM by Jackson,和Mongo java driver一样快。
特性:
- 可以通过@Configuration注解或者XML风格配置
- MongoTemplate 辅助类 (类似JdbcTemplate),方便常用的CRUD操作
- 异常转换
- 丰富的对象映射
- 通过注解指定对象映射
- 持久化和映射声明周期事件
- 通过MongoReader/MongoWriter 定义底层的映射
- 基于Java的Query, Criteria, Update DSL
- 自动实现Repository,可以提供定制的查找
- QueryDSL 支持类型安全的查询
- 跨数据库平台的持久化 - 支持JPA with Mongo
- GeoSpatial 支持
- Map-Reduce 支持
- JMX管理和监控
- CDI 支持
- GridFS 支持
本文介绍的Spring Data for MongoDB版本为1.7.0.M1。
Spring Data for MongoDB提供了两种编程风格来应用MongoDB,下面逐一介绍这两种方式。
Spring Data Repository 风格
Spring Data提供了repository 抽象方式,可以极大的减少数据访问层千篇一律的类似的重复的代码。 基本DAO都会实现,find,findAll, findById, save, delete,update等方法,而且代码逻辑基本一致。Spring Data提供了简化方法,通过接口定义 Spring Data通过Proxy自动提供具体的实现。
这里有一篇介绍文章。
详细内容:http://colobu.com/2014/12/03/Spring-Data-for-Mongo-Introduction/