Skip to main content

Spring Data2023.0.0

Spring Data’s mission is to provide a familiar and consistent, Spring-based programming model for data access while still retaining the special traits of the underlying data store.

It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbrella 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.

Features

  • Powerful repository and custom object-mapping abstractions

  • Dynamic query derivation from repository method names

  • Implementation domain base classes providing basic properties

  • Support for transparent auditing (created, last changed)

  • Possibility to integrate custom repository code

  • Easy Spring integration via JavaConfig and custom XML namespaces

  • Advanced integration with Spring MVC controllers

  • Experimental support for cross-store persistence

Main modules

  • Spring Data Commons - Core Spring concepts underpinning every Spring Data module.

  • Spring Data JDBC - Spring Data repository support for JDBC.

  • Spring Data JDBC Ext - Support for database specific extensions to standard JDBC including support for Oracle RAC fast connection failover, AQ JMS support and support for using advanced data types.

  • Spring Data JPA - Spring Data repository support for JPA.

  • Spring Data KeyValue - Map based repositories and SPIs to easily build a Spring Data module for key-value stores.

  • Spring Data LDAP - Spring Data repository support for Spring LDAP.

  • Spring Data MongoDB - Spring based, object-document support and repositories for MongoDB.

  • Spring Data Redis - Easy configuration and access to Redis from Spring applications.

  • Spring Data REST - Exports Spring Data repositories as hypermedia-driven RESTful resources.

  • Spring Data for Apache Cassandra - Easy configuration and access to Apache Cassandra or large scale, highly available, data oriented Spring applications.

  • Spring Data for Apache Geode - Easy configuration and access to Apache Geode for highly consistent, low latency, data oriented Spring applications.

  • Spring Data for VMware Tanzu GemFire - Easy configuration and access to Pivotal GemFire for your highly consistent, low latency/high through-put, data-oriented Spring applications.

Community modules

Related modules

  • Spring Data JDBC Extensions - Provides extensions to the JDBC support provided in the Spring Framework.

  • Spring for Apache Hadoop - Simplifies Apache Hadoop by providing a unified configuration model and easy to use APIs for using HDFS, MapReduce, Pig, and Hive.

  • Spring Content - Associate content with your Spring Data Entities and store it in a number of different stores including the File-system, S3, Database or Mongo’s GridFS.

Modules in Incubation

Release train

Spring Data is an umbrella project consisting of independent projects with, in principle, different release cadences. To manage the portfolio, a BOM (Bill of Materials - see this example) is published with a curated set of dependencies on the individual project. The release trains have names, not versions, to avoid confusion with the sub-projects.

The names are an alphabetic sequence (so you can sort them chronologically) with names of famous computer scientists and software developers. When point releases of the individual projects accumulate to a critical mass, or if there is a critical bug in one of them that needs to be available to everyone, the release train will push out “service releases” with names ending “-SRX”, where “X” is a number.

Currently, the release train contains the following modules:

  • Spring Data Commons

  • Spring Data JPA

  • Spring Data KeyValue

  • Spring Data LDAP

  • Spring Data MongoDB

  • Spring Data Redis

  • Spring Data REST

  • Spring Data for Apache Cassandra

  • Spring Data for Apache Geode

  • Spring Data for Apache Solr

  • Spring Data for Pivotal GemFire

  • Spring Data Couchbase (community module)

  • Spring Data Elasticsearch (community module)

  • Spring Data Neo4j (community module)

Spring Initializr

Quickstart Your Project

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all

© 2023 VMware, Inc. or its affiliates. Terms of Use PrivacyTrademark Guidelines Your California Privacy Rights Cookie Settings

Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. Java™, Java™ SE, Java™ EE, and OpenJDK™ are trademarks of Oracle and/or its affiliates. Kubernetes® is a registered trademark of the Linux Foundation in the United States and other countries. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Windows® and Microsoft® Azure are registered trademarks of Microsoft Corporation. “AWS” and “Amazon Web Services” are trademarks or registered trademarks of Amazon.com Inc. or its affiliates. All other trademarks and copyrights are property of their respective owners and are only mentioned for informative purposes. Other names may be trademarks of their respective owners.