REST with Spring

Connect to a Database you own this product

This project is part of the liveProject series REST Services with Spring and JPA
prerequisites
basic Java • relational database modeling • basic XML • basic YAML • basic Maven and Gradle dependency management
skills learned
Implement Spring Data JPA CRUD Repositories, Define the database DDL with Liquibase and SQL, Implement ORM (Object Relational Mapping) with Entity Classes, Implement JUnit Test cases with Spring Test and TestContainers
Potito Coluccelli
1 week · 4-6 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

BestInsurance, an insurance company, has an online portal with a newly built application for providing features it hopes will attract new customers. As a backend developer, it’s your job to create the persistence layer for the application. You’ll define the database tables and configure a Liquibase changelog to automatically create the tables using SQL. This will allow you to track and manage database versions in order to avoid data loss in production when you change the model. To persist your data, you’ll map Java classes to the database tables using Spring JPA, then implement the basic create, read, update, and delete (CRUD) operations through the JPA repositories for the persistent entities. To verify your mapping is correct, you’ll implement unit testing with JUnit 5 tests, TestContainers, and a PostgreSQL database.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Potito Coluccelli

Potito Coluccelli is a senior software engineer and team leader at Econocom in Italy, where he works on service-oriented architecture design and implementation as well as supporting customers as they transition from monolithic to microservice architectures. Previously he worked as a middleware consultant at Red Hat and supported companies in Italy and the EU with JEE application design, development, maintenance, and testing. With his team, he created a trade surveillance tool for Commodity Markets that’s been adopted by major energy providers in Italy.

prerequisites

This liveProject is for Java beginners interested in learning how to create a persistence layer for a basic Spring Boot application. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Basic Java
  • Basic SQL
  • Basic XML
  • Basic YAML
  • Basic Maven
  • Basic Gradle
  • Basic Docker and Docker Compose
  • Your favorite IDE
  • Spring Boot 3.1.x stable version
TECHNIQUES
  • Basic use of the command line (or equivalent best tools for the operating system you’re using)
  • Basic knowledge of SQL and table creation
  • Basic Java classes development

you will learn

In this liveProject, you’ll learn to create a persistence layer for a basic Spring Boot application, using SQL and Liquibase.

  • Define the Liquibase changelog and the SQL changeset to create the database tables
  • Implement Object Relational Mapping (ORM) using JPA and Hibernate
  • Use Spring Data JPA to implement a CRUD repository
  • Implement unit tests for your persistence layer using JUnit and TestContainers

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Connect to a Database project for free