Core Spring

Course Code: SPRINGC

Duration: 4 days

 
 

Core Spring Course Overview

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

This course comprises sessions dealing with Inversion of Control (IoC), Dependency Injection (DI), Container configuration, Aspect Oriented Programming (AOP), testing, transaction management, Spring Boot, Spring Data JPA, Spring Web MVC, REST APIs, Spring Security, and the Actuator.

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

Course Objectives

This course aims to provide the delegate with the knowledge to be able to develop (or contribute to the development of) secure Spring web applications/REST APIs that read from and write to persistent storage.

Who will the Course Benefit?

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

Skills Gained

The delegate will learn and acquire skills as follows:

  • Spring-ify an application and have the container instantiate components
  • Provide the necessary metadata to have the container inject dependencies automatically
  • Configure the container with regards bean lifecycle and scope, profiles, and properties
  • Describe AOP and its role in a Spring application
  • Write integration tests for a Spring application’s components
  • Exploit Spring’s transaction abstraction
  • Exploit auto-configuration with Spring Boot
  • Manage the persistence of entity objects using Spring Data JPA
  • Build a traditional web application using Spring Web MVC
  • Build a REST API using Spring Web MVC
  • Secure a web application with Spring Security
  • Monitor and monitor a Spring web application/REST API with the Spring Boot Actuator

Core Spring Training Course

Course Introduction

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

Session 1: INTRODUCTION TO SPRING & IOC

  • About Spring
  • Inversion of Control
  • The Spring IoC Container
  • Spring Beans
  • Configuring the container
  • Instantiating the container and obtaining beans

Session 2: ANNOTATION-BASED CONTAINER CONFIG. & DI

  • Classpath scanning and managed components
  • Dependency Injection
  • Autowiring
  • Handling multiple candidate dependencies
  • Java configuration vs. annotations, and mixing

Session 3: MORE CONTAINER CONFIG.

  • Acting on a bean’s lifecycle events
  • Specifying the scope of a bean
  • Composing configurations
  • Grouping beans into profiles
  • Externalising properties
  • Environment abstraction
  • Spring Expression Language

Core Spring Training Course

Session 4: AOP

  • About AOP and proxying
  • Constructing pointcut expressions
  • Advising the target object

Session 5: TESTING

  • Spring integration testing with JUnit
  • Loading and configuring the container
  • Setting the active profile(s) and property source(s)
  • Handling a dirty context

Session 6: TRANSACTION MANAGEMENT

  • Spring’s transaction abstraction
  • Configuring the data source and transaction manager
  • Declarative transaction management
  • Programmatic transaction management
  • Choosing between the approaches

Session 7: ACCESSING DATA & JDBC

  • Exception translation
  • Annotating DAOs with @Repository
  • Implementing a DAO using JdbcTemplate

Core Spring Training Course

Session 8: MINIMISING CONFIG. WITH SPRING BOOT

  • Spring Boot: what and why
  • Starter dependencies
  • Auto-configuration
  • Spring Boot annotations
  • Creating a simple Spring Boot application
  • Configuration properties
  • Executing code on startup using CommandLineRunner

Session 9: DATA PERSISTENCE WITH SPRING DATA JPA

  • ORM, JPA, and Hibernate
  • Entity mapping
  • Spring Data repositories
  • Persisting entities
  • Writing query methods
  • Transactionality
  • Configuring Spring Data JPA

Session 10: WEB APPS WITH SPRING WEB MVC

  • The DispatcherServlet
  • Request processing
  • Building a controller
  • Handler method parameters
  • Configuring Spring Web MVC

Core Spring Training Course

Session 11: REST APIS WITH SPRING WEB MVC

  • About REST APIs
  • Enabling and modifying the MVC Configuration
  • @ResponseBody, message conversion, and @RestController
  • Content negotiation
  • @RequestBody and validation
  • @ResponseStatus and exception handling

Session 12: SECURING AN APP WITH SPRING SECURITY

  • The big picture
  • Architecture components
  • Configuring custom authentication
  • Configuring authorisation for access to endpoints
  • Configuring authorisation at the method level
  • Configuring Spring Security

Session 13: SPRING BOOT ACTUATOR

  • About the Actuator
  • Exposing endpoints
  • Writing custom endpoints
  • Dealing with metrics
  • Health indicators
  • Writing custom health indicators
  • Monitoring and management over HTTP & JMX
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.

Requirements

Delegates attending this course should be competent Java developers who have a good understanding of OO principles and are able to build simple applications that exploit APIs including Collections, IO, and JDBC. Delegates would also benefit from having some previous experience with Servlet programming. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 / Java Developer course.

Pre-Requisite Courses

Course Reviews

Excellent course , Stuart is a very knowledgeable instructor with a great presentation style. Good practical examples used to support learning material.

Mark - Government - September 2022


Stuart is an excellent trainer, and has helped me develop a solid understanding of the concepts covered.

Chris - Finance - August 2022


Well paced teaching with great exercises, documentation and resources to consolidate learning

John - Finance - August 2022


Stuart has been a very helpful and insightful lecturer, who has helped cover topics above and beyond the initial course outline, offering extra assistance when needed. I highly recommend this course to other people.

Ryan - Finance - August 2022


The pace was good. There was a brief introduction (a few hours in the morning) to get everyone up to speed, which was about right and meant we could progress quickly to the main part of the course. There was plenty of opportunity to ask questions and participate, but importantly we were not pressured to do so. I also liked that the last few hours of the course provided an overview of more advanced features, which gave us an idea of what we could look into after completing the course.

Adam - Government - May 2022


Stuart was excellent at explaining the concepts from the ground up. He answered all our queries and helped show things in an understandable way. He provided implementations of all the topics that showed their best uses and helped me understand and use many good Java practices throughout.

Phillip - Government - April 2022


Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 4 days

Price: £1,900.00 exc. VAT 


Start Date Options Spaces  
19 Dec 2022
StayAhead Virtual Courses available 
Spaces Book Now 
24 Jan 2023
StayAhead Virtual Courses available 
Spaces Book Now 
20 Mar 2023
StayAhead Virtual Courses available 
Spaces Book Now 
23 May 2023
StayAhead Virtual Courses available 
Spaces Book Now 
10 Jul 2023
StayAhead Virtual Courses available 
Spaces Book Now 
29 Aug 2023
StayAhead Virtual Courses available 
Spaces Book Now 
23 Oct 2023
StayAhead Virtual Courses available 
Spaces Book Now 


Start Date Options Spaces  
07 Nov 2022
StayAhead Virtual Courses available 
Spaces Book Now  POA
09 Nov 2022
StayAhead Virtual Courses available 
Spaces Book Now  POA
28 Feb 2023
StayAhead Virtual Courses available 
Spaces Book Now  POA
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
 
 



Our Course Curriculum

 
 
 
 
Facebook LinkedIn Twitter Instagram E-Mail
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2022 StayAhead Training Ltd
Cookies   /   Privacy Policy