0845 450 6120

Core Spring

The Spring Framework is the leading Java EE solution for enterprise software.

This course covers Spring from Version 4 upwards, currently delivered using Version 5. It comprises sessions dealing with Dependency Injection (DI); Aspect Oriented Programming, (AOP); Spring Web including MVC, REST, and WebSocket; Spring Data  including JDBC, ORM, and Transaction Management; Spring Security; and Spring Boot. It also includes an introduction to Reactive Programming, Spring WebFlux, and  Spring Cloud.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

The delegate will learn and acquire skills as follows:

  • Obtaining Spring Beans using DI
  • Implementing cross-cutting concerns using AOP
  • Building a Spring MVC web app
  • Building a REST API with Spring MVC
  • Building a WebSocket service
  • Using a JDBC Template
  • Integrating a Spring app with Hibernate and JPA
  • Transaction Management
  • User authentication
  • URL and method-level authorization
  • Building a simple Spring Boot app

Who will the Course Benefit?

The Core Spring course will benefit Java developers who are new to Spring and want to develop large and complex enterprise-level applications.

Learning Objectives

Course Objectives

This course aims to provide the delegate with the knowledge to be able to develop (or contribute to the development of) a Spring web app which exposes a RESTful API  and that both reads and writes data to/from persistent storage. The web app should be secure insofar as it authenticates users, and restricts access. The delegate  should also be aware of Spring Boot, Reactive Programming, Spring WebFlux, and Spring Cloud.

Pre-Requisites

Requirements

Delegates attending this course should be competent Java developers able to build simple applications that exploit APIs including Collections, IO, and JDBC.  Delegates would also benefit from having some previous experience with Servlets and JSP (or equivalent technology).

This knowledge can be obtained by attendance on the pre-requisite Java Programming 2 and Developing Applications with Java EE courses.

Pre-Requisite Courses

  • Java Programming 2
  • Developing Applications with Java EE

Follow-On Courses

  • Angular Development
  • React
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Course Content

Day 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO SPRING

  • What is Spring
  • Introduction to Dependency Injection
  • Introduction to Aspect Oriented Programming
  • Introduction to Templates
  • Application Context
  • The Lifecycle of a Spring Bean
  • Spring Modules (Projects)
  • What's new in Spring 5.0

Session 2: DEPENDENCY INJECTION (DI)

  • DI configuration options
  • DI with XML
  • DI with Java
  • Autowiring (DI with Annotations)
  • Importing and Mixing Configurations
  • Environments and Profiles
  • Conditional Beans
  • Bean Scope
  • Spring Expression Language (SpEL)

Session 3: ASPECT ORIENTED PROGRAMMING (AOP)

  • Terminology
  • Aspects with XML
  • Aspects with Annotations
  • AspectJ

Day 2

Session 4: SPRING MVC

  • The Lifecycle of a Request
  • Spring Controllers
  • Request Parameters
  • Form Processing
  • View Resolution
  • Views: JSP, Thymeleaf et al.

Session 5: REST

  • REST Endpoints with Spring MVC
  • HTTP Message Converters
  • Errors and Headers
  • Consuming REST Resources using RestTemplate

Session 6: WEBSOCKET

  • WebSocket Handlers
  • Configuration with Java
  • Configuration with XML

Session 7: INTRODUCTION TO SPRING WEBFLUX (V5 ONLY)

  • Introduction to Reactive Programming
  • HTTP, Web, and Dispatcher Handlers
  • Annotated Controllers
  • Functional Endpoints
  • and more...

Day 3

Session 8: SPRING DATA SOURCES

  • Embedded Data Source (for development and testing)
  • JDBC Driver
  • Connection Pool
  • JNDI
  • Profiles

Session 9: JDBC

  • JDBC Templates
  • Using a JDBC Template with Lambdas
  • Named Parameters

Session 10: ORM

  • Integrating Hibernate with Spring
  • Application-managed JPA
  • Container-managed JPA

Session 11: TRANSACTIONS

  • Transaction Strategy
  • Synchronizing Resources
  • Declarative Transaction Management
  • Programmatic Transaction Management

Day 4

Session 12: SPRING SECURITY

  • User Details Services
  • Authentication
  • Authorization (URL Interception)
  • JSP Security Tag Library
  • Method-level Security
  • Filter Chain

Session 13: SPRING BOOT

  • Starter Dependencies
  • Autoconfiguration/li>
  • CLI
  • Actuator
  • Spring Boot Applications

Session 14: INTRODUCTION TO SPRING CLOUD

  • Microservice Architecture
  • Service Registration
  • Load Balancing
  • and more...

     

One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include