Spring Core 5


This Spring Core 5 Training covers the Spring Framework’s most popular modules and aligns closely to the International Spring Core 5 Certification Exam in order to get you on a level ready to prepare for it.

Product Description

This Spring Core 5 training course will introduce you to the Spring Framework and proceed to a level that you are able to prepare for the Spring Core 5 Certification Exam.  We cover the latest Spring best practices, including Spring Boot for application setup and configuration.


Java Advanced (SE 8 Programming / OCP)

Further training

We have a Spring 5 Core Certification Mock Exam Workshop to help you get exam-ready for the real exam


5 days



Getting started with Spring

  • What is Spring?
  • Initializing a Spring application
    • Initializing a Spring project with Spring Tool Suite
    • Examining the Spring project structure
    • Writing a Spring application
      • Handling web requests
      • Defining the view
      • Testing the controller
      • Building and running the application
      • Getting to know Spring Boot DevTools
      • Let’s review
    • Surveying the Spring landscape
      • The core Spring Framework
      • Spring Boot
      • Spring Data
      • Spring Security
      • Spring Integration and Spring Batch
      • Spring Cloud

Developing web applications

  • Displaying information
    • Establishing the domain
    • Creating a controller class
    • Designing the view
  • Processing form submission
  • Validating form input
    • Declaring validation rules
    • Performing validation at form binding
    • Displaying validation errors
  • Working with view controllers
  • Choosing a view template library
    • Caching templates

Working with data 

  • Reading and writing data with JDBC
    • Adapting the domain for persistence
    • Working with JdbcTemplate
    • Defining a schema and preloading data
    • Inserting data
  • Persisting data with Spring Data JPA
    • Adding Spring Data JPA to the project
    • Annotating the domain as entities
    • Declaring JPA repositories
    • Customizing JPA repositories

Securing Spring

  • Enabling Spring Security
  • Configuring Spring Security
    • In-memory user store
    • JDBC-based user store
    • LDAP-backed user store
    • Customizing user authentication
  • Securing web requests
    • Securing requests
    • Creating a custom login page
    • Logging out
    • Preventing cross-site request forgery
  • Knowing your user

Working with configuration properties 

  • Fine-tuning auto configuration
    • Understanding Spring’s environment abstraction
    • Configuring a data source
    • Configuring the embedded server
    • Configuring logging
    • Using special property values
  • Creating your own configuration properties
    • Defining configuration properties holders
    • Declaring b configuration property metadata
  • Configuring with profiles
    • Defining profile-specific properties
    • Activating profiles
    • Conditionally creating beans with profiles


Creating REST services

  • Writing RESTful controllers
    • Retrieving data from the server
    • Sending data to the server
    • Updating data on the server
    • Deleting data from the server
  • Enabling hypermedia
    • Adding hyperlinks
    • Creating resource assemblers
    • Naming embedded relationships
  • Enabling data-backed services
    • Adjusting resource paths and relation names
    • Paging and sorting
    • Adding custom endpoints
    • Adding custom hyperlinks to Spring Data endpoints

Consuming REST services 

  • Consuming REST endpoints with RestTemplate
    • GETting resources
    • PUTting resources
    • DELETEing resources
    • POSTing resource data
  • Navigating REST APIs with Traverson

Sending messages asynchronously 

  • Sending messages with JMS
    • Setting up JMS
    • Sending messages with JmsTemplate
    • Receiving JMS messages
  • Working with RabbitMQ and AMQP
    • Adding RabbitMQ to Spring
    • Sending messages with RabbitTemplate
    • Receiving message from RabbitMQ
  • Messaging with Kafka
    • Setting up Spring for Kafka messaging
    • Sending messages with KafkaTemplate
    • Writing Kafka listeners

Integrating Spring 

  • Declaring a simple integration flow
    • Defining integration flows with XML
    • Configuring integration flows in Java
    • Using Spring Integration’s
    • DSL configuration
  • Surveying the Spring Integration landscape
    • Message channels
    • Filters
    • Transformers
    • Routers
    • Splitters
    • Service activators
    • Gateways
    • Channel adapters
    • Endpoint modules
  • Creating an email integration flow


Introducing Reactor

  • Understanding reactive programming
    • Defining Reactive Streams
  • Getting started with Reactor
    • Diagramming reactive flows
    • Adding Reactor dependencies
  • Applying common reactive operations
    • Creating reactive types
    • Combining reactive types
    • Transforming and filtering reactive streams
    • Performing logic operations on reactive types

Developing reactive APIs

  • Working with Spring WebFlux
    • Introducing Spring WebFlux
    • Writing reactive controllers
  • Defining functional request handlers
  • Testing reactive controllers
    • Testing GET requests
    • Testing POST requests
    • Testing with a live server
  • Consuming REST APIs reactively
    • GETting resources
    • Sending resources
    • Deleting resources
    • Handling errors
    • Exchanging requests
  • Securing reactive web APIs
    • Configuring reactive web security
    • Configuring a reactive user details service

Persisting data reactively

  • Understanding Spring Data’s reactive story
    • Spring Data reactive distilled
    • Converting between reactive and non-reactive types
    • Developing reactive repositories
  • Working with reactive Cassandra repositories
    • Enabling Spring Data Cassandra
    • Understanding Cassandra data modeling
    • Mapping domain types for Cassandra persistence
    • Writing reactive Cassandra repositories
  • Writing reactive MongoDB repositories
    • Enabling Spring Data MongoDB
    • Mapping domain types to documents
    • Writing reactive MongoDB repository interfaces


Discovering services

  • Thinking in microservices
  • Setting up a service registry
    • Configuring Eureka
    • Scaling Eureka
  • Registering and discovering services
    • Configuring Eureka client properties
    • Consuming services

Managing configuration

  • Sharing configuration
  • Running Config Server
    • Enabling Config Server
    • Populating the configuration repository
  • Consuming shared configuration
  • Serving application- and profile-specific properties
    • Serving application-specific properties
    • Serving properties from profiles
  • Keeping configuration properties secret
    • Encrypting properties in Git
    • Storing secrets in Vault
  • Refreshing configuration properties on the fly
    • Manually refreshing configuration properties
    • Automatically refreshing configuration properties

Handling failure and latency

  • Understanding circuit breakers
  • Declaring circuit breakers
    • Mitigating latency
    • Managing circuit breaker thresholds
  • Monitoring failures
    • Introducing the Hystrix dashboard
    • Understanding Hystrix thread pools
  • Aggregating multiple Hystrix streams




Read about our certificates


You can download the course registration form on our home page or by clicking here

You may download a pdf copy of this page by clicking on the pdf icon at the top of the page.

Please email us


On the calendar below. If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our Contact Us page.

Print Friendly, PDF & Email
Additional Information

Distance-Learning, Full-time, Part-Time