Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Spring Boot 2.0: Apps & Microservices
Rating: 3.8 out of 5(15 ratings)
104 students

Spring Boot 2.0: Apps & Microservices

Learn how to create production-ready web applications and microservices from scratch with Spring Boot 2.0
Last updated 1/2019
English

What you'll learn

  • Build Spring Boot and Spring MVC applications
  • Implement exception handling and validation in Spring Boot
  • Test your Spring Boot applications with @WebMvcTest and @MockBean
  • Secure your applications using Spring Security
  • Explore microservices-based architecture
  • Use Domain-Driven Design for designing your Microservices
  • Develop and design RESTful web services with Spring Boot
  • Develop microservices with Spring Boot and Spring Cloud
  • Build RESTful APIs with Spring HATEOAS
  • Perform integration testing with Spring MVC

Course content

2 sections54 lectures3h 34m total length
  • The Course Overview2:56

    This video provides an overview of the entire course.                           

  • What’s Spring and Spring Boot?2:41

    Description of Spring Framework and the Spring Boot 2.0 subproject.                         

    • Description of Spring Framework

    • Description of Spring Boot 2.0

    • Differences between Spring Boot and Spring Boot 2.0

     

  • Build Systems – Maven, Gradle, Starters2:26

    Description of the build tools Maven and Gradle.                         

    • Maven pom file explained

    • Gradle script explained

     

  • Starting with Spring Initializr2:47

    Show how to use the http://start.spring.io Spring Initializr website.                         

    • Usage of the website

    • Interact with Eclipse and the REST-Service of Spring Initializr

     

  • Configuration Classes and Spring Automatic Configuration5:12

    Description of the internal and external configuration of a Spring Boot project.                         

    • External configuration explained

    • Internal configuration explained

    • Automatic configuration as part of the internal configuration explained

     

  • Understanding the Anatomy of a Spring Boot Project0:56

    Description of the Spring Boot project directory.                         

    • The Spring Boot project directory

    • Main Application class explained

     

  • Building Your Spring Boot Project4:17

    Description of how a simple “Hello World” application is built and made runnable as a web application.                         

    • Create a Spring Initializr project

    • Implement a controller to handle  HTTP requests

    • Create HTML template files for the Thymeleaf engine

     

  • Setting Your App Configuration4:57

    Configuration of the Spring MVC application, regarding basics such  as paths for resources or application settings for different profiles.                         

    • Create an application properties class to define an upload directory

    • Create an application config class to handle our properties class

    • Create a webconfig class to add further ressources

     

  • Creating the View and the Controller4:04

    Creating the web application views and declaring the request controller to handle request calls.                         

    • Create views with HTML and Thymeleaf

    • Create controllers for handle requests

     

  • Using Starters and Defining the Entry Point4:16

    Creating a custom endpoint with a Spring actuator starter.                         

    • Add an actuator starter

    • Create a custom endpoint

    • Create a simple service for the endpoint

     

  • Testing Your App5:15

    Presentation of the spring-boot-starter-test starter.                         

    • Explain the difference between unit and integration tests

    • Create a unit test

    • Show an integration test

     

  • Creating Your First REST Service5:52

    The difference between REST service and SOAP web service explained.                         

    • Create a new controller to handle new REST endpoints

    • Add repositories to deal with the h2 in- memory database

    • Add the first GET request to the new controller

     

  • Implementing HTTP Verbs4:29

    An overview of available HTTP verbs in Spring.                         

    • Add new request methods for post, put, and delete

    • Test the methods with Postman

     

  • Sending and Receiving Data2:28

    Showing how to set the content type to XML or JSON for requests                         

    • On the server side, we introduce the produces clause

    • On client side we set the content type in the header

     

  • Service Validation and Error Handling3:02

    Showing how to validate objects with Hibernate and how to implement custom exceptions.                         

    • Annotate the book class with validations

    • Implement custom exception, Exception Handler, and error details

    • Show the result with Postman

     

  • Documentation with Swagger3:44

    How to integrate Swagger libraries with the project.                         

    • Add a SwaggerConfig class to the other configuration classes

    • Add Swagger annotations to the Controller

    • Show the documentation over the browser

     

  • Exploring Reactive Programming3:58

    Explaining the difference between webflux and web MVC.                         

    • Show the difference between synchronous, asynchronous, and reactive actions

    • Explain the reactor library

    • Show the difference in programs

     

  • Setting Up the App and Getting Reactive Database Interaction3:27

    Setting up a different project for reactive programming.                         

    • Annotate the classes for MongoDB with  @Document

    • Define the repository for MongoDB

    • Add the first get request

     

  • Creating REST Endpoints3:51

    Adding the missing methods for post, put, and delete requests.                         

    • Show the difference between usual and reactive programming

    • Test the methods with Postman 

  • Adding Security1:58

    Securing the reactive app with Spring Security starter.                         

    • Implement the minimal security configuration for webflux

    • Show the result over the browser and Postman

     

  • Exploring Spring Data4:02

    Overview of Spring Data.                         

    • The features of Spring Data

    • Understand how to connect to the database

    • Steps to retrieve data

     

  • Using Plain and Simple SQL with JdbcTemplate2:10

    Show how to use the JdbcTemplate to create SQL statements.                         

    • Add a method to our interface class and implement it

    • Test it

     

  • Using JPA for Managing Relational Data2:47

    How to use the JPARepository interface for our EBook Store.                         

    • Add a method to our Book repository

    • Test it

     

  • JPA with NoSQL Databases1:47

    How to use the MongoDB as a non-SQL database.                         

    • An example of a Mongo template

    • An example of a Mongo Repository

     

  • Adding Security to the Data4:19

    How to add security to our EBook Store.                         

    • Add the implementations of user details and user details service

    • Implement the interface Web Security Configure Adapter for all the configure requests

    • Explain the steps to configure thymeleaf-extras

     

  • Property Defaults in Development – Time Configuration1:39

    Show how to add the starter to the pom file.                         

    • Understand the property defaults

    • An overview of the possible settings

     

  • Automatic Restart and Live Reload2:15

    Show how automatic restart works.                         

    • Test the automatic restart property

    • Test the live reload property

     

  • Remote Update, Restart, and Debug3:07

    Show how remote, debug and update works.                         

    • Test the remote update

    • Restart and debug

    • Show how to set global settings for all apps.

     

  • Testing with Spring TestRestTemplate2:59

    Show the usage of TestRestTemplate.                         

    • An example of TestRestTemplate for our EBook Store

     

  • Testing Spring MVC Apps with @WebMvcTest2:41

    Explain what @WebMvcTest can do.                         

    • Examples of @WebMvcTest in our EBook Store

     

  • Integration Testing with @DataJpaTest1:39

    Explain what @DataJpaTest can do.                         

    • Show an example of @DataJpaTest for our EBook Store

     

  • Testing with @MockBean2:00

    Explain what @MockBean can do.                         

    • Show an example of @MockBean for our store

     

  • Test Your Knowledge

Requirements

  • No prior knowledge of Spring Boot is assumed. However, a basic knowledge of Java and Spring would be beneficial.

Description

Spring is one of the best frameworks in the market for developing web, enterprise, and cloud-ready applications and services. Spring Boot simplifies the building of complex apps dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model. It is the fastest way to get a Spring application up-and-running with the fewest lines of code and the least configuration. If you're a Java developer who wants to build applications with Spring Boot 2.0 and run microservices based application for production in Spring Boot 2.0, then go for this course.

This comprehensive 2-in-1 course is a step-by-step guide to building, testing, deploying, and monitoring your robust and scalable web applications and web services using Spring MVC. You will learn to build microservices using Spring Boot 2.0 and see how microservices address common operational and infrastructural concerns. You will also explore a suite of tools that Spring Cloud offers for the discovery, routing, and deployment of microservices to the enterprise and the cloud. Next, you will learn how to build RESTful web services application using the Spring WebFlux framework. Spring WebFlux is a new framework that helps in creating a reactive application in a functional way. Finally, you will leverage the additional features offered by Spring Boot Actuator to help you monitor and manage your applications and services when it's pushed to production.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Spring Boot 2.0 in 7 Days, is your perfect guide to rapidly developing enterprise-grade applications with Spring Boot. It will kick-start the task of achieving your business goals with Spring Boot. You will spend more time understanding your customers' needs and less time building applications to address them.

The second course, Hands-On Microservices with Spring Boot 2.0, takes a hands-on, practical approach to implementing microservices for your app development with the Spring ecosystem. You will delve into the two main components of the Spring ecosystem for microservice development—Spring Boot and Spring Cloud—in detail. You will see how to build microservices with Spring Boot 2.0. You will also explore a suite of tools that Spring Cloud offers for the discovery, routing, and deployment of microservices to the enterprise and the cloud.

By the end of this course, you will be able to develop, secure, deploy, and monitor your own applications, web services, and microservices from scratch with Spring Boot 2.0.


About the Authors :

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

Petra Simonis is a software developer with extended expertise in Java, Spring, Spring Boot, C++, and other programming and scripting languages. Over the past 15 years, she has gained experience in the fields of multimedia retrieval, telecommunications, GIS services, and healthcare.

Tomasz Lelek is a Software Engineer who programs mostly in Java and Scala. He is a fan of microservices architecture and functional programming. He has worked with more than 700 production microservices in the microservices ecosystem written in Spring Boot. He has 5+ years of experience in product development in Spring. He is also the co-founder of an e-learning platform that was built with the Java language.

Who this course is for:

  • This course is for Java developers who want to build applications with Spring Boot 2.0 and run microservices based application for production in Spring Boot.