Spring Data 'Ingalls' Release Train Leaves Station
The Spring Data team has announced the first milestone release of the Ingalls Release Train. This coordinated release of subprojects under the Spring Data umbrella ships with 230 fixes and a number of new features.
Similar in concept to the Eclipse Foundation's annual synchronized launch of multiple Eclipse projects and project upgrades, the Spring Data Release Train provides a level of predictability around independent projects with different release cadences. To avoid confusion with version numbers, these release trains are named after famous computer scientists and software developers. The Ingalls release is named for object-oriented programming pioneer Dan Ingalls.
Spring Data provides a familiar and consistent programming model for data access that retains the special traits of the underlying data store. As the project website explains, this approach makes it easier for developers to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. The projects gathered under the Spring Data umbrella are developed by companies and developers working behind the scenes.
The Ingalls Release Train comprises eight main modules, including:
- Spring Data Commons, which applies core Spring concepts to the development of solutions using many relational and non-relational data stores.
- Spring Data JPA, which makes it easy to implement Java-Persistence-API-based repositories.
- Spring Data MongoDB, which provides integration with the MongoDB document database.
- Spring Data Redis, which provides easy configuration and access to the Redis in-memory data store from Spring apps.
- Spring Data Solr, which is the Spring Data module for Apache Solr.
- Spring Data GemFire, which provides easy configuration and access to GemFire distributed data management platform from Spring apps.
- Spring Data KeyValue, which provides infrastructure to implement Spring Data repositories on top of key-value stores.
- Spring Data REST, which exports Spring Data repositories as hypermedia-driven RESTful resources.
It also includes community modules for Aerospike, Cassandra, Couchbase, DynamoDB, Elasticsearch, and Neo4j.
Some of new features in the Ingalls release are:
- Use of method handles for property access in conversion subsystem (Commons, MongoDB).
- Upgrade to Cassandra 3.0 for Spring Data Cassandra.
- Support for declarative query methods for Cassandra repositories.
- Support for Redis geo commands.
- Any-match mode for query-by-example.
- Support for XML and JSON based projections for REST payloads (see the example for details)
Mark Paluch, a Spring Data committer based in Germany, offers some useful tips for test driving Ingalls in a blog post here.