Spring Boot Training

Spring Boot is the framework and tools  designed to simplify the bootstrapping and development of a new Spring application and empower Java teams to build robust, hassle free applications.

In this course you will learn how to leverage Spring Boot to ease development and leverage the Sprng framework to take the drudgery out of Spring devleopment.

Training may be done on-site or at our training venues in Durban, Cape Town and Johannesburg.

Course Duration Price ZAR(ex vat) Price USD
Spring Boot Training Summary
Spring Boot Training 3 days R15,000 $1,500

 

Course Outline

Introduction

1. Spring MVC Primer

  • Integrating Spring with Java EE Web Apps - ContextLoaderListener and WebApplicationContext
  • Spring Web MVC Overview, Capabilities, Architecture (Front Controller, MVC Pattern)
  • Spring MVC Basics the DispatcherServlet,
  • Configuration using @EnableWebMvc
  • Controllers, using @Controller, @RequestMapping (Handler Methods)
  • Controller Details using @RequestMapping, @RequestParam and @PathVariable
  • Model Data, @ModelAttribute, Model/ModelAndView Classes

2. Getting Started With Spring Boot

  • Spring Boot starters, CLI, Gradle plugin
  • Application class
  • @SpringBootApplication
  • Build as a Runnable jar
  • Dependency injection, component scans, Configuration
  • Externalize your configuration using application.properties or YAML files
  • Context Root and Management ports
  • Logging 

3. Building Web Applications In Spring Boot

  • Spring MVC Controllers
  • Using ModelAttributes
  • @RequestMapping and @RequestParam
  • Using a ModelAndView
  • Using images and templates for views
  • Using an Embedded database with JdbcTemplate
  • Executing Sql scripts
  • Using a production database
  • JPA Data and JPA Repositories

4. Restful Web Services

  • REST Overview (Characteristics/Capabilities, URI Templates, REST vs SOAP
  • REST and Spring MVC
  • Spring support for REST
  • @RequestMapping/@PathVariable, @RequestBody, @ResponseBody, HTTP Method conversion
  • URI Templates and @PathVariable
  • Writing RESTful Controllers / @RestController
  • JSON Representations for Resources
  • Message Converters
  • Generating XML
  • JAXB and Jackson Message Converters for XML
  • JAXB / @XmlRootElement
  • Content Negotiation
  • Client Requirements and Spring's RestTemplate

5. Securing An Application With Spring Boot And Spring Security

  • Spring Security Overview using the DelegatingFilterChainProxy and FilterChainProxy
  • Using Spring Web Authentication
  • The key Classes of HttpSecurity, AuthenticationProvider, UserDetailsService, UserDetails, AuthenticationManager, Authentication and GrantedAuthorities
  • Using your own AuthenticationProvider and UserDetailsService with hashed passwords and tokens
  • Spring Security Authorization overview with the AccessDecisionManager and AccessDecisionVoters
  • Authorization using @EnableGlobalMethodSecurity, JSR250 and Spring Security Annotations
  • Using a @ControllerAdvice for ExceptionHandling
  • Creating your own custom Authorization Voter and AccessControlManager
  • Using HTTPS
  • Securing a Restful service via a customized UsernamePasswordAuthenticationFilter

6. Jms Services

  • ActiveMQ support
  • Using JmsTemplate
  • MessageListenerAdapter
  • SimpleMessageListenerContainer
  • JmsListenerContainerFactory