Spring Boot & Spring Cloud

About Spring Boot

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". It takes an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
This course is fully updated to cover the latest Spring Boot 2.1 release. Significant differences to the 1.5 and 2.0 release are highlighted throughout the course so that users of older versions of the framework will both learn their version of the framework as well as what to expect when migrating to 2.1.

About Spring Cloud

Spring Cloud is a set of frameworks built on top of Spring Boot that helps with building microservices and cloud-native applications. It covers areas like service discovery, centralized configuration and various patterns for robust synchronous and asynchronous communication between services, as well as integrating with various public cloud offerings.

Agenda - Day 1

Spring Boot overview

Provides a quick overview of what Spring Boot is and what it isn't, the features it provides, and some ways of quickly getting started with building a new Boot-based application.

Auto-configuration

Covers Spring Boot's auto-configuration: what is this important feature, what sort of auto-configuration is provided out-of-the-box, how does it work, and how to tune or override it.

Configuration files

Discusses configuration support in Spring Boot: what type of configuration files are supported, where does Boot look for configuration values and in what order, and support for type-safe configuration properties and relaxed binding

Fat JARs & Embedded Servlet Containers

Explains how Spring Boot can package applications as self-contained fat JARs with an embedded servlet container like Tomcat or Jetty. Also covers registration of servlet-related components and how to choose for a traditional WAR format if you don't want to use fat JARs.

Build system

Introduces the plugins that Spring Boot provides for building your applications with Maven or Gradle and the managed dependencies support it provides.

Web development

Provides an overview of what Boot support is there for building web applications, including serving static resources, using WebJars, and error handling.

Developing with Boot

Covers the Spring Boot Developer Tools and Boot's comprehensive testing support built on top of Spring's integration testing framework.

Agenda - Day 2

Production-ready features (actuator, health-checks, metrics, logging etc.)

Explains Spring Boot Actuator endpoints, how to enable and secure them (significantly different in Boot 1.5.x versus 2.x), its built-in support for exposing metrics and health checks, and configuring logging including special Logback support.

Spring Cloud introduction and configuration

Provides an overview of the various projects that make up the Spring Cloud ecosystem. Explains how Spring Cloud applications are bootstrapped and what additional things happen compared to plain Spring Boot applications. Covers the support for centralized configuration.

Spring Cloud service discovery and client-side load balancing

Goes over the support for registering services with a service registry like Eureka or Consul and acting as a discovery client. Proceeds to explain how discovery client support can be integrated through Netflix’s Ribbon library to automatically pick a service instance to connect to when using a Spring HTTP client (RestTemplate or WebClient).

Spring Cloud integration with Netflix’s Hystrix

Discusses support for integrating with Netflix’s Hystrix library to offer circuit breakers and bulkheading support.

Next to these presentations, the course contains several hands-on exercises and leaves enough room to cover additional questions and topics that come up.

Prerequisites 

- We're assuming basic Spring knowledge as a prerequisite.

- When attending the course, please bring a laptop with a recent Java 8 SDK installed plus your IDE of choice

 

 

About the trainer

Joris Kuipers

Joris is an absolute expert when it comes to Spring. He has been educating developers about the Spring Framework for over 10 years having started as a Senior Consultant at Interface21 (formerly SpringSource, now Pivotal), in April 2007. His role there was training Java developers in Spring and Java EE technologies, as well as providing technical consultancy.

His extensive experience with Spring means that he can provide a lot of tips, tricks and real-world examples.

In 2012 Joris joined Trifork Amsterdam, where he works as Manager Technology Delivery as well as a hands-on architect.

Courses: Core Spring, Enterprise Integration, Spring Web, Spring Boot

 

What our students say about Joris

  • "Great instructor with good presentation skills. Direct and to the point"
  • "Excellent! I have had some bad experiences with technical trainers, even from reputable companies. This trainer, however is not only very knowledgeable but also knows how to explain complicated concepts and has extensive experience in the field so he has a lot of real-world examples to use."
  • "Joris was very good and has a broad knowledge of the individual subjects and always adds some extra tips and tricks to the content."
  • "Really skilled profesional."
  • "He can make anyone understand anything :)"

Upcoming training dates