Steven Haines talks about Spring Data and the creation of the Neo4j module for Spring Data



Spring Data and Neo4j

One thing that the Spring framework has done very well is to reduce or eliminate boilerplate code. Instead of spending time on generic implementation code, Spring developers spend more time on business logic. Spring provides the configuration and plumbing code.

At SpringOne in 2010, Spring creator Rod Johnson and Neo4j co-founder Emil Eifrem were trying to determine the best way to integrate support for Neo4J into the Spring framework. Their collaboration eventually led to the Neo4J module for Spring Data. Thus Spring Data evolved into an abstraction layer on top of data repositories. Initially focused on NoSQL, it was later extended for JPA and relational databases.

It’s good to keep Spring Data’s inception in mind, because NoSQL repositories are quite different from relational databases. Relational databases provide support for SQL queries and solve a specific category of problems, which makes them easy to abstract. But NoSQL repositories specialize in particular features and functionality. MongoDB, for instance, is good at managing dynamic documents; Neo4J is good at representing highly interconnected graphed entities; and Redis is good at representing key/value entries in a cache.

Read the Full Article Here.