Spring Data MongoDB

Spring Data - MongoDB

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 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

#maven

Features

  • Spring configuration support using Java based @Configuration classes or an XML namespace for a Mongo driver instance and replica sets.
  • MongoTemplate helper class that increases productivity performing common Mongo operations. 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 persistance - support for JPA Entities with fields transparently persisted/retrieved using MongoDB
  • Log4j log appender
  • GeoSpatial integration
  • Map-Reduce integration
  • JMX administration and monitoring
  • CDI support for repositories
  • GridFS support

Latest News

Resources

Javadocs HTML
Reference Documentation HTML | PDF
Issue Tracking (JIRA): https://jira.springframework.org/browse/DATAMONGO
Source Control (Git): https://github.com/SpringSource/spring-data-mongodb

https://github.com/SpringSource/spring-data-document-examples
Changelog (Fisheye): https://fisheye.springsource.org/browse/datamongodb
Build Status (Bamboo): http://build.springframework.org/browse/SPRINGDATA-DATAMONGO

 

Maven Artifacts

Here is the Spring Release Repository:

<repository>
    <id>spring-release</id>
    <name>Spring Maven Release Repository</name>
    <url>http://repo.springsource.org/libs-release</url>
</repository>

Here is the dependency:

<dependency>
 <groupId>org.springframework.data</groupId>
 <artifactId>spring-data-mongodb</artifactId>
 <version>1.2.1.RELEASE</version>
</dependency> 

 

Maven Snapshot Repository
<repository>
    <id>spring-snapshot</id>
    <name>Spring Maven SNAPSHOT Repository</name>
    <url>http://repo.springsource.org/libs-snapshot</url>
</repository>
Maven Snapshot Dependency
<dependency>
 <groupId>org.springframework.data</groupId>
 <artifactId>spring-data-mongodb</artifactId>
 <version>1.3.0.BUILD-SNAPSHOT</version>
</dependency> 

 

Buzz

Current Release

Spring Data

Spring Data makes it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services as well as provide improved support for relational database technologies.

Spring Data is an umbrella open source project which contains many subprojects that are specific to a given database. The projects are developed by working together with many of the companies and developers that are behind these exciting technologies.

Now available from O'Reilly Media is the book:

Spring Data: Modern Data Access for Enterprise Java.

 Spring Data

Spring Data Projects:

Category Sub-project  
Relational Databases JPA Spring Data JPA - Simplifies the development of creating a JPA-based data access layer
  JDBC Extensions Support for Oracle RAC, Advanced Queuing, and Advanced datatypes. Support for using QueryDSL with JdbcTemplate.
     
Big Data Apache Hadoop The Apache Hadoop project is an open-source implementation of frameworks for reliable, scalable, distributed computing and data storage.
     
Data-Grid GemFire VMware vFabric GemFire is a distributed data management platform providing dynamic scalability, high performance, and database-like persistence. It blends advanced techniques like replication, partitioning, data-aware routing, and continuous querying.
     
HTTP REST Spring Data REST - Perform CRUD operations of your persistence model using HTTP and Spring Data Repositories.
     
Key Value Stores Redis Redis is an open source, advanced key-value store.
     
Document Stores MongoDB MongoDB is a scalable, high-performance, open source, document-oriented database.
     
Graph Databases Neo4j Neo4j is a graph database, a fully transactional database that stores data structured as graphs.
     
Column Stores HBase Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable. HBase functionality is part of the Spring for Apache Hadoop project.
     
Common Infrastructure Commons Provides shared infrastructure for use across various data access projects. General support for cross-database persistence is located here
     

Community-driven projects:

Sub-project  
Spring Data Solr Spring Data repositories abstraction for Apache Solr
Spring Data Elasticsearch Spring Data repositories abstraction for Elasticsearch
Spring Data Couchbase Spring Data repositories abstraction for Couchbase
Spring Data FuzzyDB Spring Data repositories abstraction for FuzzyDB

Attic

The Attic contains links to Spring Data projects that are no longer maintained.

Participation

Please reach out on the forums or JIRA with specific questions,requests, and expressing interest to participate in development on github at http://github.com/SpringSource.

Twitter

Follow SpringData on Twitter: SpringData

Follow the team members on Twitter

 

 

Syndicate content