Core Spring Training

Core Spring Training

The Core Spring course is intended for experienced Java EE Developers or Architects and if you are interested in learning all about developing java applications with Spring, you have an upcoming project and need to learn Spring quickly and you like to become Spring Certified to improve your career opportunities. For you to benefit you will need to be an experienced Java developer or architect with experience developing applications using Java. See our Spring Core training site for more details.

Course Duration Price ZAR(ex vat) Price USD
Spring Core Training Summary
Spring Core Training 4 days R25,000 $1,420
  • Lunch, refreshments and training material included.
  • Class start at 9:00am for 9:30am
  • South Africa training locations: Johannesburg, Cape Town, Durban
  • Global training locations: USA, Candana, UK, Dubai, Europe

Course Outline


  • Use the Spring Framework to develop Java applications
  • Take the Spring Boot shortcut to productivity.
  • Use dependency injection to set up and configure applications.
  • Test Spring-based applications.
  • Configure Spring applications using Java configuration, annotations, or XML.
  • Use Spring Data JPA and JDBC to rapidly implement relational database access.
  • Use Spring support for transactions.
  • Use aspect-oriented programming (AOP) to declaratively add behavior to applications.
  • Develop a basic Web application with Spring MVC.
  • Use Spring Security to secure Web applications.
  • Use Spring to easily build REST web services.
  • Start the journey to Microservices and Cloud Native Applications

Module 1: Overview of the Spring Framework

  •     Define the Spring Framework
  •     Explain what Spring is used for
  •     Explain why Spring is successful

Module 2: Dependency Injection Using Java Configuration 1

  •     Define spring beans using Java code
  •     Access beans in the application context
  •     Handle multiple configuration files
  •     Handle dependencies between Beans
  •     Explain and define Bean scopes

Module 3: Dependency Injection Using Java Configuration 2

  •     Use external properties to control configuration
  •     Demonstrate the purpose of profiles
  •     Use the Spring expression Language (SpEL)
  •     Explain how Spring Java Configuration implements Singleton Beans

Module 4: Annotation-Driven Configuration

  •     Explain and use Annotation-based configuration
  •     Discuss best practices for configuration choices
  •     Use @postconstruct and @predestroy           
  •     Explain and use Spring’s Stereotype annotations

Module 5: Factories in Spring

  •     Describe the Factory pattern
  •     Explain purpose of factory beans and be able to use them

Module 6: Advanced Spring Concepts

  •     Explain the 3 phases of the Spring Bean Lifecycle
  •     Use a BeanFactoryPostProcessor and a Bean PostProcessor
  •     Explain how Spring Proxies add behaviour at runtime
  •     Describe issues when injecting beans by type

Module 7: Testing Spring Applications

  •     Explain the concepts of Test driven development
  •     Write tests using Junit 5
  •     Write integration tests using Spring
  •     Configure tests using spring profiles
  •     Extend spring tests to work with databases

Module 8: Developing Aspects with Spring AOP

  •     Explain the concepts behind AOP and the problem that it solves
  •     Implement and deploy an advice using Spring
  •     Use AOP pointcut expressions
  •     Explain the 5 different types of advice and when to use them

Module 9: Introduction to Data Management with Spring

  •     Explain the role of Spring in Enterprise Data access
  •     Use Spring’s DataAccessExceptionHierarchy
  •     Configure test databases
  •     Implement Caching
  •     Discuss NoSQL databases

Module 10: Introduction to Spring JDBC

  •     Explain the Problems with traditional JDBC
  •     Use and configure Spring’s JDBC Template
  •     Execute queries using callbacks to handle result sets
  •     Handle exceptions

Module 11: Transaction Management with Spring

  •     Explain why Transactions are used and how Java supports them in different ways
  •     Describe and use spring transaction management
  •     Configure Isolation levels and transaction propagation
  •     Setup Rollback rules
  •     Use transactions in Tests

Module 12: JPA with Spring

  •     Explain the basic concepts of JPA
  •     Configuring JPA in Spring
  •     Implement a JPA DAOs
  •     Explain how JPA Integration is implemented by Spring

Module 13: Spring Boot

  •     Explain what Spring Boot is and why it opinionated
  •     Describe how spring boot is driven by dependencies and auto-configuration

Module 14: JPA with Spring Boot & Spring Data

  •     Implement a Spring JPA application using Spring Boot
  •     Create Spring Data Repositories for JPA

Module 15: Spring Web MVC Essentials

  •     Explain Spring MVC & request processing lifecycle
  •     Describe the purpose of the dispatcher servlet
  •     Implement a controller
  •     Set up a view and a view resolver
  •     Use spring boot in a web application
  •     Explain when to use @Enablewebmvc
  •     Deploy a Boot-driven WAR

Module 16: Spring Boot – Going Beyond Default Settings

  •     Explain how Auto-Configuration drives spring boot
  •     Use various techniques to customize spring boot
  •     Implement configuration properties
  •     Fine-tuning logging
  •     Using YAML for configuration
  •     Test spring boot applications

Module 17: Spring Security

  •     Explain basic security concepts
  •     Setup spring security in a web environment
  •     Configuring web authentication
  •     Setup method security

Module 18: Practical REST Web Services

  •     Describe the principles of HTTP REST
  •     Use Spring MVC to build RESTful servers
  •     Develop RESTful clients using RestTemplate