A single conversation with a wise man is better than ten years of study.
~ Chinese Proverb ~

Training: Practical Spring Data

Jarosław Pałka

Spring Data is an 'umbrella' project, developed by SpringSource community, which easies development of applications while working with different database models. From relational databases over "good old" JDBC, through O/R mappings with a little bit of help from JPA, to hottest and newest NoSQL databases, which span from key-value, document to graph databases.

Spring Data simplifies connectivity with variety of databases, provides unified programming model and patterns.It also frees you from writing boilerplate code by promoting convention over coding and extensive use of runtime generated code. Thanks to this you can focus on building valid and complete domain models with less annoying errors in your data access layer, which results in higher quality code delivered in less time.

During this two day training you will get familiar with four different data models, including O/R mappings (JPA 2.0), key-value stores (Redis), document databases (MongoDB) and graph databases (Neo4j). You will understand how Spring Data works undercover, and how different data models fit into modern web applications and how to work "polyglot persistance" concept.

During this heavy "hands on" training you will work with web application which will be refactored over time to use Spring Data and different databases. We will also discuss prons and cons of different data models, and design forces which can lead you to use one or the other. We will also learn how to work with type-safe JPA queries, Spring Data in JEE 6 applications and everything you want to know about data and were afraid to ask.

Training Prerequisites:

  • Notebook with JDK 6, Maven and favorite IDE installed
  • Solid experience in Java Programming, including object-oriented Java
  • Some experience with Java EE development, especially Web applications using servlets, will be very helpful, but is not strictly required
  • Some understanding of XML and XML Schema is strongly recommended

More talks