Enterprise Spring and Spring Boot Development

This course, written by Nick Todd, the author of JavaServer Pages 2.0 Developers Handbook from Sams Publishing, teaches you how to create enterprise applications using the latest versions of the very popular Spring framework. The training course can be delivered using either Visual Studio Code, IntelliJ or Eclipse, and Maven or Gradle as the core development and build environments. In addition to teaching all the major aspects of Spring, the course also covers best practice integration between Spring and other technologies such as databases, cloud environments, docker etc. Various modules can be dropped / replaced, for example, NoSQL or SQL based back ends, and optional modules on SpringMVC for Thymeleaf can also be included if desired.

Duration: 3 days

Who is it for: Developers who need to be able to build enterprise Java based applications using Spring

Layout: This training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice. The exercises specifically build on what has been recently taught and are built up as the training course progresses.


Introduction to the Spring Framework

  • The need for Spring
  • Implementing Dependency Injection with Spring
  • The Spring Core
  • Programming to Interfaces using Spring

Configuring Spring Beans

  • Using Spring Annotations
  • Using Java Configuration classes
  • A brief mention of legacy XML configuration

Spring and JDBC Database Connectivity

  • The Spring JDBC Related Module
  • The challenges of pure JDBC
  • The Spring JDBC Template
  • Writing an effective DAO using the Spring template class
  • Spring configuration elements required for database access

Introduction to the Java Persistence API

  • History of JPA
  • The need for Object Relational Mapping technology
  • Hibernate and the JPA
  • Mapping beans using JPA annotations
  • Using the EntityManager to work with data
  • Implementing relationships

Spring and the JPA

  • Integrating Spring with the JPA
  • Injecting EntityManagers into DAOs
  • Spring configuration for effective use of JPA with Spring
  • Session management
  • Working with Transactions
  • Coordinating transactions with appropriate propagation

Spring and NoSQL with MongoDB or Cassandra

  • Integrating Spring with MongoDB and Cassandra
  • The MongoTemplate from Spring
  • Inserting and Updating and Querying NoSQL Databases

Spring Data

  • Building CRUD APIs
  • Working with finder methods
  • The Repository pattern
  • Using Spring Data with a NoSQL Database

Spring MVC for REST Services

  • Overview of REST principles
  • Creating REST controllers
  • Using Paths and Parameters
  • Processing JSON and XML Data

Spring Security

  • Authentication and Authorization
  • The Spring Security Servlet Filter
  • AOP based security for components
  • Configuring form based authentication
  • Realm configuration using Spring

Spring Boot

  • Creating entire applications using Boot
  • Configuring a Repository using Boot
  • Creating a REST API using Boot
  • Maintaining Spring Boot Applications

Aspect Oriented Programming with Spring

  • The need for AOP
  • Defining Aspects
  • Defining Pointcuts
  • Defining Advices
  • Configuration options for AOP
  • Weaving options when using AOP

Unit Testing Spring Applications

  • Using the Spring Context in Unit Tests
  • Autowiring beans into tests
  • Testing Web application controllers using Spring
  • Mocking when using Spring

JMS Messaging from Spring

  • Introduction to JMS
  • The JMSTemplate
  • The convertAndSend vs send methods
  • Integrating messaging with Spring Boot

Deploying Spring Applications using Docker

  • Introduction to Docker
  • Containerize a Spring Boot application using Fabric8
  • Using Docker Compose with Spring Boot

Enquire about this course

"*" indicates required fields

By submitting this form, you agree to our Privacy Policy.
This field is for validation purposes and should be left unchanged.