Spring Data for MongoDB is part of the Spring Data project which provides a familiar and consistent Spring-based programming model for new datastores while retaining store-specific features and capabilities. The Spring Data MongoDB project provides integration with MongoDB document database. Key functional areas of Spring Data MongoDB are a POJO centric model for interacting with a MongoDB Collection and easily writing a Repository style data access layer.
Spring Data for MongoDB is part of the umbrella Spring Data project which aims to provide a familiar and consistent Spring-based programming model for new datastores while retaining store-specific features and capabilities.
The Spring Data MongoDB project provides integration with the MongoDB document database. Key functional areas of Spring Data MongoDB are a POJO centric model for interacting with a MongoDB DBCollection and easily writing a Repository style data access layer
Features
- Spring configuration support using Java based
@Configuration
classes or an XML namespace for a Mongo driver instance and replica sets. MongoTemplate
andReactiveMongoTemplate
helper classes that increase productivity performing common Mongo operations.- Fluent Template API.
- Support for MongoDB Transactions.
- Listener containers for Change Streams and Tailable cursors.
- Includes integrated object mapping between documents and POJOs.
- Exception translation into Spring's portable Data Access Exception hierarchy.
- Feature Rich Object Mapping integrated with Spring's Conversion Service.
- Annotation based mapping metadata but extensible to support other metadata formats.
- Persistence and mapping lifecycle events.
- Low-level mapping using MongoReader/MongoWriter abstractions.
- Java based Query, Criteria, and Update DSLs.
- Automatic implementation of Repository interfaces including support for custom finder methods.
- QueryDSL integration to support type-safe queries.
- Cross-store persistence - support for JPA Entities with fields transparently persisted/retrieved using MongoDB.
- GeoSpatial integration.
- Map-Reduce integration.
- JMX administration and monitoring.
- CDI support for repositories.
- GridFS support.