Enterprise Spring and Spring Boot Development

Contact Us for Dates
3 days practical workshop for up to 12 people.

Contact us for Onsite Price

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.

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.

Who it is for

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

Training Course Prerequisites

  • Java programming experience is required for this training course. If you do not have Java, then some scripting experience would be extremely advantageous.

Chapters

Chapter 1 Introduction to the Spring Framework

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

Chapter 2 Configuring Spring Beans

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

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 and NoSQL with MongoDB or Cassandra

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

Chapter 7 Spring Data

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

Chapter 8 Spring MVC for REST Services

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

Chapter 9 Spring Security

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

Chapter 10 Spring Boot

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

Chapter 11 Aspect Oriented Programming with Spring

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

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

Chapter 13 JMS Messaging from Spring

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

Chapter 14 Deploying Spring Applications using Docker

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