Modern Java Web Applications with Spring Boot 2.x

Video description

Building web application has been a challenge for many Java developers because of the complexities of their software requirements, leading to a bloated and unmanaged framework library repository and configurations. Spring Boot 2.x, a feature-rich platform built from the Spring 5.x framework, is created by to help developers solve their complex problems with fewer configurations but with strong dependency management features.

In this course, you will learn how to create various modules in a Human Resources Information System (HRIS) such as employee timesheets, leave management, and profiling. You will use Spring Boot 2.x to create your HRIS app while integrating Spring Web MVC, Spring WebFlux, Spring Data, RESTful web services, and clients. Above all, you'll use the latest version of Spring Security—5.0—to secure your apps and OAuth 2.x to implement an OpenID connection. You'll apply reactive programming with its Spring Web Flux and Project Reactor features. Finally, you will deploy your apps and services using some popular cloud and container platforms such as Spring Cloud Foundry, Docker, and AWS.

By the end of the course, you will be confident in implementing the core features of Spring Boot 2.x to create scalable, optimal, and robust enterprise web applications.

What You Will Learn

  • Create model view controller web applications with Spring Web MVC
  • Create RESTful web services and consume them in web pages with Spring Web MVC
  • Secure your applications and services with Spring Security
  • Include social login in your applications with OpenID Connect
  • Persist data with Spring Data and MongoDB
  • Build reactive applications and services with Spring Web Flux and Project Reactor
  • Build stream-based and reactive applications using Kotlin
  • Use Spring Cloud Config to configure your application
  • Creating API gateways using Spring Cloud
  • Deploy your web applications and services to a PaaS provider


This course is for developers who have no prior knowledge of Spring Boot but possess basic Java programming knowledge and want to develop applications and services with Spring Boot 2.x.

About The Author

Sherwin John C.Tragura: Sherwin John Calleja Tragura is a subject matter expert on Java, ASP .NET MVC, and Python applications with some background in frontend frameworks. He has managed a team of developers to build various applications related to manufacturing and fixed assets, document management, records management, POS, and inventory systems. He has a background in building laboratory information management systems (LIMS) and hybrid mobile applications as a consultant. He has also provided corporate Bootcamp training services since 2010 for courses on Python, Django, Flask, Jakarta EE, C#, ASP .NET MVC, JSF, Java, and some frontend frameworks. He has authored books such as Spring MVC Blueprints and Spring 5 Cookbook and a Packt video, Modern Java Web Applications with Spring Boot 2.x.

Table of contents

  1. Chapter 1 :Getting Started with Spring Boot 2.x Development
    1. The Course Overview
    2. Setting Up the Development Environment
    3. Creating a Starter Project with Spring Initializr
    4. Adding @Controller and URL Mappings
    5. Binding Request Parameters
    6. Understanding Form Transactions
    7. Creating the Views
    8. Managing Exceptions
    9. Managing Cross-Cut Concerns
  2. Chapter 2 :Adding RESTful Web Services
    1. Exploring REST with Apache CXF
    2. Creating REST Services with @RestController
    3. Implementing JAX-RS 2.1
    4. Creating API Definitions with Swagger2
    5. Consuming REST with RestTemplate and OkHttp
    6. Consuming REST with Angular 8 and ReactJS
    7. Testing REST Services Using JUnit 5 and Spring Boot Test
  3. Chapter 3 :Persisting the Application Data
    1. Building Spring Data JPA 2.2 Layer with PostgreSQL 11
    2. Applying MyBatis 3.x ORM
    3. Using Spring Data MongoDB
    4. Performing Advanced CRUD Transactions
    5. Using Spring Data REST
    6. Using Spring HATEOAS
  4. Chapter 4 :Securing the Application and Its Services
    1. Securing the Application Using Spring Security 5.2
    2. Implementing a Database-backed Authentication
    3. Creating the Appropriate PasswordEncoder
    4. Implementing the Authorization Rules
    5. Enhancing the Security Model
    6. Authenticating Users Using JWT
    7. Applying OAuth2 and OpenID Connect with Okta
    8. Building the OAUTH2 Server and Client
  5. Chapter 5 :Structuring and Managing Applications
    1. Building Small-Scale Microservices
    2. Using Actuator to Manage Endpoints
    3. Monitoring Endpoints Using Micrometer
    4. Securing Actuator Endpoints
    5. Customizing Actuator Services
    6. Structuring Microservices
  6. Chapter 6 :Building a Reactive Application
    1. Applying the Reactive Stream Model
    2. Using Reactive ViewResolvers
    3. Applying the Functional Web Framework
    4. Using the Reactive Spring Data R2DBC
    5. Implementing Reactive REST Services and SSE
    6. Securing a Reactive Application
    7. Applying Kotlin and Spring Data Moore
  7. Chapter 7 :Building Cloud-Native Applications
    1. Deploying an Application and PostgreSQL Instance to the Docker Cloud
    2. Using the Docker Gradle Plugin to Dockerize an Application
    3. Deploying Microservices to Spring Cloud Foundry
    4. Using Microsoft Azure Cloud as a Cloud Container
    5. Deploying Applications to Google Cloud

Product information

  • Title: Modern Java Web Applications with Spring Boot 2.x
  • Author(s): Sherwin John C.Tragura
  • Release date: January 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781788993241