Enterprise Spring 4 Development

Contact Us for Dates
3 days practical workshop for up to 12 people.
Only £1185
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 will be delivered using either Eclipse or IntelliJ and Maven as the core development and build environments. In addition to teaching all the major aspects of both frameworks, the course also covers best practice integration between the frameworks and also the architectural principles surrounding how to use the frameworks appropriately.


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.

Who it is for

Developers who need to be able to build enterprise Java based applications using Spring

Training Course Prerequisites

  • Delegates must be familiar with XML, and they must also be familiar with Web technologies such as HTML and HTTP. Java programming experience is required for this training course. If you do not have Java, then some scripting experience would be extremely advantageous.


Chapter 1 Introduction to the Spring Framework

  • The need for Spring
  • Implementing Dependency Injection with Spring
  • The Spring Core
  • Programming to Interfaces using Spring
  • Incorporating Spring into Java EE applications

Chapter 2 Configuring Spring Beans

  • Using XML
  • Using Spring Annotations
  • Using javax.persistence annotations
  • Using Configuration classes

Chapter 3 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

Chapter 4 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

Chapter 5 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

Chapter 6 Spring Data

  • Building CRUD APIs
  • Working with finder methods
  • The Repository pattern

Chapter 7 Spring and NoSQL Databases

  • Working with Spring Data and Mongo DB
  • The MongoDB template class
  • Configuring Spring applications to use MongoDB

Chapter 8 Spring Validation

  • Using Validator Annotations
  • Enabling validation
  • Displaying validation error messages

Chapter 9 Spring MVC

  • The Model/View/Controller Pattern
  • The DispatcherServlet Class
  • Configuring DispatcherServlet
  • Web Application Contexts
  • Controller Responsibilities
  • The ModelAndView Class
  • The View Interface
  • The ViewResolver Interface
  • The redirect: Prefix

Chapter 10 Spring MVC for REST Services

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

Chapter 11 Spring Security

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

Chapter 12 Spring Boot

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

Chapter 13 Spring Web services

  • Overview of SOAP services
  • WSDL First Services
  • Defining the XML Schemas
  • Configuring the Services
  • Creating the Java service class

Chapter 14 Aspect Oriented Programming with Spring

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