FA-0633Software Development

Java for Web Development

Intermediate Java, Spring Boot and REST APIs

Apply existing Java skills to a guided Spring Boot web application with REST endpoints, persistence and practical error handling.

Introduction

Why this course

This four-day course is for active Java programmers who understand object-oriented programming and can build and debug a Java project. It reviews data handling and concurrency before introducing Spring, Spring Boot and a small REST application.

Participants extend one prepared project with layered request handling and Spring Data JPA using a disposable H2 database. The course introduces local configuration, embedded servers and selected development/health tools; it does not promise advanced JVM expertise or production-ready deployment.

Learning outcomes

Learning outcomes

The course teaches participants to:

  • Apply control flow, bounded recursion and data conversion to small Java tasks.
  • Work with collections, generics, streams and basic concurrent tasks.
  • Handle errors and resources in file and threaded examples.
  • Explain dependency injection and the flow through a small layered Spring application.
  • Create a Spring Boot project using compatible Java and build-tool versions.
  • Build and exercise GET, POST, PUT and DELETE endpoints with a simple persistence layer.
  • Review configuration, development tools, health information and limitations before any production use.
Prerequisites

Prerequisites

  • Recent Java programming experience, including classes, objects, compiling and debugging.
  • Ability to use a Java IDE and familiarity with files and basic server concepts.
  • A prepared compatible JDK, Maven, IDE and project dependencies; internet access for authorised dependency downloads.
  • Ability to use SSH if the selected exercise uses a supplied remote training server; a local training environment is also suitable.
Training outline

4 modules

·
01Day 1 — Java Data-Handling Review7 topics
  • Revision of OOP
  • Loops
  • Conditions
  • Recursion, termination and practical limits.
  • Data conversion, including a bounded nested JSON or XML example.
  • Data Manipulation
  • Validate and clean a small prepared dataset.

Review object/reference lifetime and automatic memory management as needed for the examples.

02Day 2 — Collections, Concurrency and Web Project Preparation1 topics

Collections and Concurrent Code

  • Collections
  • Compare lists and arrays, mutability and access patterns.
  • Generics
  • Functional interfaces and lambdas.
  • Stream processing; parallel execution is not automatically faster.
  • Threads
  • Multi-threaded programming
  • Synchronisation and shared-state risks.

Errors, Files and Task Utilities

  • Exception Handling
  • Error Handling
  • Exception propagation and failures in a small multithreaded example.
  • Java file APIs, resource handling and filesystem-specific behaviour.
  • Executor/task utilities appropriate to the selected JDK.

Project and Web Overview

Review the prepared project, exercise selected file and database operations and introduce the request/response flow of the small web application.

03Day 3 — Spring and Spring Boot1 topics

Spring Project Structure

  • Intro with Spring Framework
  • Define a small training project and its boundaries.
  • Create one compatible Spring/Spring Boot project with Spring Initializr.
  • Build the prepared project incrementally.
  • Coupling and separation of responsibilities in a small example.
  • Overview of background processing and task boundaries.
  • Terminology
  • Trace a request through controller, service and persistence layers.
  • Maven dependency and build workflow.
  • Dependency injection with emphasis on understandable component wiring.

Spring Boot Application

  • Getting Started with Spring Boot
  • Inspect the Boot project structure rather than creating an unrelated second project.
  • Hello World API with Spring Boot
  • Request/response data conversion and validation in the prepared example.
  • Configuration
  • Embedded Servers
  • Spring Boot Actuator: inspect local health information and discuss controlled exposure of management information.
  • Spring Boot DevTools for local development, not a production requirement.
04Day 4 — Persistence and REST Endpoints1 topics

Spring Data JPA and H2

  • Simple REST API with Spring Boot and Spring Data JPA
  • Jakarta Persistence entities and a disposable H2 in-memory database; do not treat the training database as production persistence.
  • Additional Configuration for Spring Data JPA
  • SQL
  • Entity and integrating with GET REST API

REST Operations

  • Understanding REST API
  • Building REST API (GET)
  • Building REST API (POST)
  • Building REST API (PUT)
  • Building REST API (DELETE)

Assessment

Exercise the prepared API, inspect stored sample data and explain selected design, configuration and error-handling choices.

A programme built around your team.

Share your training goals and requirements.

Java for Web Development
FA-0633

Share your requirements for this programme.

Training enquiry

Java for Web Development