Course Code: bspsprbt
Duration: 21 hours
Prerequisites:

Audience

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

Overview:

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Introduction to the Spring Framework

  • The need for Spring
  • Implementing Dependency Injection with Spring
  • The Spring Core
  • Programming to Interfaces using Spring
  • Spring vs. Spring Boot
  • Spring Boot CLI
  • Web Development
  • Data Access
  • Testing
  • Security
  • Deployment

Configuring Spring Beans

  • Using Spring Annotations
  • Using Java Configuration classes
  • A brief introduction to XML configuration

Spring and JDBC Database Connectivity

  • The challenges of pure JDBC
  • The Spring JDBC Related Module
  • 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

  • Integrating Spring with MongoDB 
  • 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 Validation

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

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
  • Weaving options when using AOP

Unit Testing Spring Applications

  • Using the Spring Context in Unit Tests
  • Autowiring beans into tests

Spring and Kubernetes

  • Virtualisation
  • Contenerization
  • Docker
  • Kubernetes
  • Kubernetes architecture
  • Deploying SpringBoot app on Minikube