WA2511

Spring Boot Training

This Spring Boot Training course provides an introduction to Spring Boot, the features the project provides, and some of the most common ways it is used.  Upon completion of the Spring Boot Training, students will know how to utilize Spring Boot to rapidly define, configure, and add features to Spring applications using Spring Boot.
Course Details

Duration

2 days

Prerequisites

  • Program Java applications - Course WA2494 meets this requirement
  • Understand basic Spring applications - Course TP2385 meets this requirement

Target Audience

  • Software Designers
  • Developers
  • Programmers

Skills Gained

  • Develop Spring web applications with Spring MVC
  • Understand the features of the Spring Boot project
  • Use Spring Boot to create and configure a Spring application
  • Customize Spring Boot features
  • Develop REST web services with Spring Boot
  • Utilize various Spring database support including Spring Data
  • Secure an application with Spring Security
  • Use JMS support of Spring
Course Outline
  • Spring Framework Configuration
    • Java @Configuration Classes
    • Defining @Configuration Classes
    • Loading @Configuration Classes
    • Modularizing @Configuration Classes
    • Qualifying @Bean Methods
    • Trouble with Prototype Scope
    • Configuration with Spring Expression Language
    • Resolving Text Messages
    • Spring Property Conversion
    • Spring Converter Interface
    • Using Custom Converters
    • Spring PropertyEditors
    • Registering Custom PropertyEditors
  • Introduction to Spring Boot
    • What is Spring Boot?
    • Spring Framework
    • How is Spring Boot Related to Spring Framework?
    • Spring Boot 2
    • Spring Boot Main Features
    • Spring Boot on the PaaS
    • Understanding Java Annotations
    • Spring MVC Annotations
    • Example of Spring MVC-based RESTful Web Service
    • Spring Booting Your RESTful Web Service
    • Spring Boot Skeletal Application Example
    • Converting a Spring Boot Application to a WAR File
    • Externalized Configuration
    • Starters
    • Maven - The 'pom.xml' File
    • Spring Boot Maven Plugin
    • Gradle - The 'build.gradle' File
    • Spring Boot Gradle Plugin
    • HOWTO: Create a Spring Boot Application
    • Spring Initializr
  • Spring Web MVC
    • Spring Web MVC
    • Spring Web Modules
    • Spring Web MVC Components
    • DispatcherServlet
    • Spring WebFlux Module
    • Spring WebFlux
    • Template Engines
    • Spring Boot MVC Example
    • Spring Web MVC Mapping of Requests
    • Advanced @RequestMapping
    • Composed Request Mappings
    • Spring Web MVC Annotation Controllers
    • Controller Handler Method Parameters
    • Controller Handler Method Return Types
    • View Resolution
    • Spring Boot Considerations
  • Overview of Spring Boot Database Integration
    • DAO Support in Spring
    • Spring Data Access Modules
    • Spring JDBC Module
    • Spring ORM Module
    • DataAccessException
    • @Repository Annotation
    • Using DataSources
    • DAO Templates
    • DAO Templates and Callbacks
    • ORM Tool Support in Spring
  • Using Spring with JPA
    • Spring JPA
    • Benefits of Using Spring with ORM
    • Spring @Repository
    • Using JPA with Spring
    • Configure Spring Boot JPA EntityManagerFactory
    • Application JPA Code
    • Spring Boot Considerations
    • Spring Data JPA Repositories
    • Database Schema Migration
    • Database Schema Migration for CI/CD using Liquibase
    • How Liquibase Works?
    • Changelogs in Liquibase
    • Preconditions in Changelogs
    • Sample Empty Changelog
    • Sample Precondition in Changelog
    • Sample Changeset in Changelog
    • Running Liquibase
    • Liquibase Commands
  • Spring REST Services
    • Many Flavors of Services
    • Understanding REST
    • RESTful Services
    • REST Resource Examples
    • @RestController Annotation
    • Implementing JAX-RS Services and Spring
    • JAX-RS Annotations
    • Java Clients Using RestTemplate
    • RestTemplate Methods
  • Spring Security
    • Securing Web Applications with Spring Boot 2
    • Spring Security
    • Authentication and Authorization
    • Programmatic vs Declarative Security
    • Adding Spring Security to a Project
    • Spring Security Configuration
    • Spring Security Configuration Example
    • Authentication Manager
    • Using Database User Authentication
    • LDAP Authentication
    • What is Security Assertion Markup Language (SAML)?
    • What is a SAML Provider?
    • Spring SAML2.0 Web SSO Authentication
    • Setting Up an SSO Provider
    • Adding SAML Dependencies to a Project
    • SAML vs. OAuth2
    • OAuth2 Overview
    • OAuth – Facebook Sample Flow
    • OAuth Versions
    • OAuth2 Components
    • OAuth2 – End Points
    • OAuth2 – Tokens
    • OAuth – Grants
    • Authenticating Against an OAuth2 API
    • OAuth2 using Spring Boot – Dependencies
    • OAuth2 using Spring Boot – application.yml
    • OAuth2 using Spring Boot – Main Class
    • OAuth2 using Spring Boot – Single Page Application Client
    • JSON Web Tokens
    • JSON Web Token Architecture
    • How JWT Works
    • JWT Header
    • JWT Payload
    • JWT Example Payload
    • JWT Example Signature
    • How JWT Tokens are Used
    • Adding JWT to HTTP Header
    • How The Server Makes Use of JWT Tokens
    • What are “Scopes”?
    • JWT with Spring Boot – Dependencies
    • JWT with Spring Boot – Main Class
  • Spring JMS
    • Spring JMS
    • JmsTemplate
    • Connection and Destination
    • JmsTemplate Configuration
    • Transaction Management
    • Example Transaction Configuration
    • Producer Example
    • Consumer Example
    • Converting Messages
    • Message Listener Containers
    • Message-Driven POJO's Async Receiver Example
    • Message-Driven POJO's Async Receiver Configuration
    • Spring Boot Considerations
  • Lab Exercises
    • Lab 1. A Simple RESTful API in Spring Boot
    • Lab 2. Use the Spring Web MVC Web Framework under Spring Boot
    • Lab 3. Use the Spring JDBCTemplate under Spring Boot
    • Lab 4. Use the Spring Data JPA under Spring Boot
    • Lab 5. Create a RESTful API with Spring Boot
    • Lab 6. Enable Basic Security
    • Lab 7. Use AMQP Messaging with Spring Boot
    • Lab 8. Authentication with JWT
Upcoming Course Dates
USD $1,460
Online Virtual Class
Scheduled
Date: May 6 - 7, 2024
Time: 10 AM - 6 PM ET
USD $1,460
Online Virtual Class
Scheduled
Date: May 27 - 28, 2024
Time: 10 AM - 6 PM ET
USD $1,460
Online Virtual Class
Scheduled
Date: Jul 1 - 2, 2024
Time: 10 AM - 6 PM ET
USD $1,460
Online Virtual Class
Scheduled
Date: Aug 26 - 27, 2024
Time: 10 AM - 6 PM ET