GOTO Academy NL
June 13: Spring Boot Advanced Training
In this 1-day course you’ll receive a deep-dive into Spring Boot features that go beyond the basics to boost your productivity. After this day you’ll understand how to tune the framework to your particular needs, rather than just using it as it comes out-of-the-box.
Custom autoconfiguration and type-safe configuration properties
- Write your own Boot autoconfiguration modules for use within multi-module projects or even as company-wide shared libraries
- Write your own type-safe configuration properties to provide IDE code assist to users when configuring your module, including validation support
- Test your autoconfiguration modules, so that you can check that your configuration behaves as expected under various conditions
Configuring the embedded web server
- Choose between the various supported web servers
- Property-based server configuration for often-used features
- Programmatic configuration for custom features: registering custom Tomcat valves, additional server connectors, etc.
Customizing the developer tools for optimal productivity
- Configure the development tools to monitor additional resources for changes, like when you’re using a separate frontend project
- Configure the development tools to load certain classes in a different classloader, in case your library or framework doesn’t play nicely with the defaults thus preventing you from using the tools
Spring Boot Launchers
- Learn how Spring Boot applications are actually bootstrapped
- Use other launchers than the provided default one to support things like adding external classpath folders or downloading dependencies at first startup (‘thin jars’)
- Learn the ins and outs of how to configure your Spring Boot tests: how to tune the created ApplicationContext, overriding properties with test-specific values, etc.
- Combine Spring Integration tests with Mockito mocks using @MockBean and @SpyBean
- Use test slices to focus on specific aspects of your application in your tests, preventing the need to bootstrap a full application for tests that just need a small part of your configuration to be processed
- Write your own actuator endpoints and health checks
- Expose custom application metrics
- Options for securing your actuator endpoints
- Using the Spring Boot Admin project to have a central UI for your Boot applications
Spring Cloud Introduction
- How does Spring Cloud extend the Spring Boot application life cycle at startup
- Set up shared configuration through the Spring Cloud Config server or Consul
- Dynamically reload configuration changes without a full application restart
- Integrate with a service discovery registry like Eureka or Consul
We expect participants to have a basic working knowledge of the Spring Framework and Spring Boot. For a good overview of what we consider basic Boot knowledge, have a look at our 1-day Spring Boot 2.0 course.
When attending the course, please bring a laptop with a recent Java 8 SDK installed plus your IDE of choice.