<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version

Production-Ready Java with Spring Boot: Build Secure REST APIs End-to-End

Class Duration

35 hours of live training delivered over 5-10 days to accommodate your scheduling needs

Student Prerequisites

  • Good understanding of general programming concepts including object-oriented programming
  • Experience with Java is recommended but not required

Target Audience

Designed for software engineers, tech leads, and platform teams building Java services who need production-grade REST APIs that are secure, observable, and well-tested. It’s ideal for organizations standardizing on Spring Boot and Maven, for managers seeking faster, safer delivery, and for L&D partners aiming to upskill teams on JPA/Hibernate, Spring Security with JWT, OpenAPI/Swagger, structured logging, and JUnit/Mockito using modern tooling like Visual Studio Code.

Description

This live course takes engineers from Java basics to deploying production-ready REST APIs with Spring Boot. Participants start by writing and debugging Java in Visual Studio Code, then design clean OO models and automate builds with Maven. You’ll stand up Spring Web controllers, route requests, and return JSON with resilient error handling. Next, you’ll integrate databases using JPA and Hibernate, leverage repositories, and validate mappings with an H2 test database. We’ll secure endpoints via Spring Security and JWT, add observable, structured logging with SLF4J/Logback, and generate consumer-friendly API documentation using springdoc OpenAPI and Swagger UI. Finally, you’ll harden quality with JUnit and Mockito tests so services are reliable, maintainable, and ready for scale. The result: faster delivery of secure, well-documented Java services that drive business outcomes.

Learning Objectives

  • Apply Java fundamentals in VS Code, including types, control flow, and effective debugging.
  • Model robust object-oriented designs using classes, interfaces, inheritance, polymorphism, and encapsulation.
  • Set up enterprise-grade builds with Maven: project structure, POMs, dependencies, plugins, and lifecycle.
  • Develop RESTful services with Spring Boot and Spring Web: controllers, routing, JSON, and error handling.
  • Persist data with JPA and Hibernate: entity mapping, repositories, schema generation, and H2 for in-memory tests.
  • Implement security with Spring Security and JWT: token creation/validation, endpoint protection, and role-based access.
  • Produce live API documentation using springdoc/OpenAPI and Swagger UI, including annotated endpoints and exported specs.
  • Build a quality pipeline with logging (SLF4J/Logback, structured logs) and unit tests using JUnit and Mockito.

Training Materials

All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises.

Software Requirements

Students will need a free, personal GitHub account to access the courseware. Students will need permission to install Java and Visual Studio Code on their computers. Also, students will need permission to install Maven Packages and Visual Studio Extensions. If students are unable to configure a local environment, a cloud-based environment can be provided.

Training Topics

Getting Started with Java
  • Java and the Java Virtual Machine
  • JDK vs JRE
  • Build Java Apps in Visual Studio Code
  • Types and Variables
  • Sequence, Selection, and Iteration
  • Debugging in VS Code
Classes and Objects
  • Object-Oriented Programming
  • Define a Class
  • Instantiate an Object
  • Behavior and Data
  • Constructors
  • Getters and Setters
  • Static Members
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Implementation vs Contract
  • Interfaces
  • Abstract Classes
Maven
  • Project Structure
  • Dependencies
  • POM File
  • Build Lifecycle
  • Plugins
Spring Boot
  • Auto-configuration
  • Starter projects
  • Embedded server
  • Application configuration
  • Rapid development
Spring Web
  • REST endpoints
  • Controllers
  • Routing
  • Request/response model
  • Request handling
  • JSON support
  • Error handling
Connect to a Database
  • JPA overview
  • Database configuration
  • Entity mapping
  • Hibernate ORM
  • Persistence context
  • Repository patterns
  • H2 integration
  • In-memory testing
  • Schema generation
Logging
  • Logging fundamentals
  • SLF4J overview
  • Logback configuration
  • Logging levels
  • Structured logging
  • Logging in Spring Boot
API Documentation
  • OpenAPI Overview
  • Adding springdoc dependency
  • Auto-generated API documentation
  • Swagger UI
  • Describing endpoints with annotations
  • Viewing and exporting API specs
Authentication & Authorization
  • Security fundamentals
  • Introduction to JWT
  • Spring Security configuration
  • Generating and signing tokens
  • Validating and parsing tokens
  • Securing endpoints
  • Role-based authorization
Unit Testing with JUnit
  • Testing fundamentals
  • JUnit annotations
  • Writing test cases
  • Assertions
  • Testing Spring components
  • Mocking with Mockito
  • Test organization
<<Download>> Download Microsoft Word Course Outline Icon Word Version Download PDF Course Outline Icon PDF Version