Spring Boot Practice Exercises
Build production-style Spring Boot backends through hands-on challenges, one concept at a time.
Beans & Dependency Injection
Learn how Spring wires your objects together: registering beans, injecting them without new, choosing between them, and configuring them from properties.
Coffee Shop Order Printer
This problem covers turning a list of ordered items into a printed receipt, and adding up the right total at the bottom.
Temperature Unit Provider Switcher
This problem covers picking the correct temperature converter for the unit asked for, and which one to use when none is named.
Feature Flag Bean Registry
This problem covers keeping a set of on/off switches for features, and where their starting values come from.
Notification Dispatch Selector
This problem covers sending a message through the channel the user picked, and what to fall back to when the channel isn't recognized.
REST Controllers & Endpoints
Learn how Spring turns classes into HTTP endpoints: mapping routes to methods, reading path variables and query parameters, binding request bodies, and returning the right status codes.
Planetarium Show Catalog
This problem covers adding, listing, and removing shows, and what to answer when someone asks for one that isn't there.
Bird Sightings API
This problem covers recording bird sightings and finding them by species, and what to show when nothing matches.
Vending Machine Inventory
This problem covers changing stored state from a request, and telling apart a slot that is empty from one that does not exist.
Comic Book Issue API
This problem covers keeping child records inside their own parent, so one series never shows another series' issues.
Validation and Error Handling
Learn how Spring checks a request before your code runs: applying field constraints, writing your own validation rules, catching every failure in one place, and answering with a consistent error body.
Passport Application Form Validator
This problem covers checking an application form field by field before it is accepted, including an age cutoff on the date of birth.
Blood Donation Eligibility Check
This problem covers writing your own validation rule that looks at several fields together and reports the first thing that is wrong.
Global Error Response Standardizer
This problem covers turning every kind of failure in the application into one consistent error response.
Pizza Order Constraint Validator
This problem covers collecting every broken rule on a request instead of stopping at the first, and reporting them in a fixed order.
JPA Persistence Basics
Learn how Spring stores your data: mapping classes to tables, saving and loading through repositories, updating a row in place instead of adding a new one, and letting the database enforce its own rules.
Beekeeping Hive Log
This problem covers putting a service between the controller and the database, and storing inspections under the hive they belong to.
Plant Watering Schedule Store
This problem covers the full set of database-backed endpoints for plant schedules, including updating a row in place rather than adding a new one.
Guitar Lesson Booking Store
This problem covers letting the database enforce uniqueness and turning the resulting failure into the right response.
Board Game Collection Tracker
This problem covers linking games to their owner and reading a sorted list back for one owner at a time.
Querying and Filtering
Learn how Spring builds queries for you: deriving them from method names, combining filters that may or may not be supplied, writing your own JPQL when derivation runs out, and keeping results in a fixed order.
Farmers Market Vendor Search
This problem covers searching vendors by several optional filters that can be combined in any way.
Used Textbook Listings Filter
This problem covers filtering listings by a price range and other options, with the results always ordered newest first.
Podcast Episode Browser
This problem covers returning results one page at a time, with a capped page size and a consistent page envelope.
Hotel Room Availability Query
This problem covers finding rooms that are free across a date range, without counting a booking that ends on the day the new one starts.
DTOs, Mapping and Pagination
Learn how Spring shapes what leaves your API: mapping entities to response objects, keeping internal fields out of the payload, projecting only the columns a view needs, and returning results one page at a time.
Museum Exhibit Management API
Veterinary Visit Records
Job Board Search & Pagination
Aquarium Species Directory
Security: Authentication & Authorization
Learn how Spring Security guards your app: identifying callers from credentials or tokens, storing passwords in encoded form, restricting endpoints by role, and answering rejected requests in your own format.
Locker Room PIN Access
Newsroom Editor Permissions
Clinic Staff Role Gate
API Key Issuer
File Handling and Storage
Learn how Spring handles files: receiving multipart uploads, checking type and size before anything is stored, cleaning up the supplied filename, and serving the stored bytes back unchanged.
Passport Photo Upload
Lecture Slide Repository
CSV Bulk Import Handler
Scanned Receipt Vault
Scheduling and Async Work
Learn how Spring runs work off the request thread: enabling scheduled execution, putting a job on a fixed rate or a cron, handing work to a thread pool, and retrying what fails.
Greenhouse Sensor Poller
Overdue Fine Calculator Job
Bulk Email Dispatch Queue
Nightly Sales Digest Builder
Events and Messaging
Learn how Spring lets components talk without knowing each other: publishing events, handling them in the background, waiting until the transaction commits, and staying correct when the same event arrives twice.
Warehouse Stock Change Notifier
Order Lifecycle Event Chain
Loyalty Points Award Listener
Airport Gate Change Broadcast System
Transactions and Concurrency
Learn how Spring keeps data correct under load: marking transaction boundaries, rolling back cleanly, locking rows optimistically or pessimistically, and making a retried request apply only once.
Seat Hold Reservation Lock
Wallet Top-Up Retry Guard
Ticket Counter Race Guard
Interbank Fund Settlement Ledger
Microservices and Resilience
Learn how Spring talks to other services: calling them over HTTP, resolving their address at call time, timing out and retrying, and falling back when one of them is down.
Service Registry Lookup Client
Edge Router with Rate Limiting
Fallback Cache for Downstream Outage
Ride Hailing Dispatch Platform
About this path
This path covers the core of a Spring Boot 4 backend: beans and dependency injection, REST controllers, validation and error handling, JPA persistence, and querying. You should be able to write basic Java before you start. No earlier Spring experience is needed. The querying module is about search and filtering, with challenges such as a hotel room availability query.
Frequently asked questions
4>What will I practice in this path?
5 modules: Beans & Dependency Injection, REST Controllers & Endpoints, Validation and Error Handling, JPA Persistence Basics and Querying and Filtering. More modules are on the way.
>How many challenges are there, and how hard are they?
20 challenges, all easy.
>What does this path run on?
Challenges run on Spring Boot 4.1 and Java 25.
>Do I need to install anything?
No. Every challenge runs in a browser-based IDE with everything already set up, and your code is graded automatically against a test suite.
