Introduction to Spring Boot

Learn via : Virtual Classroom / Online
Duration : 3 Days
  1. Home
  2. Introduction to Spring Boot

Description

    Spring Boot allows Java developers to create standalone Spring applications that “just run,” typically using an embedded instance of Tomcat, Jetty, or Undertow.  These Spring Boot applications require no code generation or XML configuration, while at the same time they feature integrated health monitoring, simplified Maven configuration, and a host of other features that make building, deploying, and running your Spring applications far easier.

     

    Delegates will learn to

    • the fundamentals of Groovy, which is required for scripting Spring Boot
    • Install the Spring Boot Command Line Interface (CLI)
    • Build and deploy Spring Boot applications
    • Gather and review metrics and health checks
    • Secure their Spring Boot applications

Outline

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

Getting Started with Spring Boot

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

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

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

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