Spring Training Overview

Spring Core & Spring Boot Training Overview

Although our Spring Core training and Spring boot training courses are the most popular Pivotal technologies we deliver training on we also resell Pivotal Cloud Foundry and offer a RabbitMQ course.

Because Pivotal's Spring framework allows Java developers to easily create and deploy  microservices at internet speed it has become widely adopted amongst enterprises and start-up across South Africa and the globe

Spring Core

Our Spring Core training equips students with knowledge about Springs core IOC container, Spring MVC framework, Spring Data with JPA and JDBC, Spring Aspects and  Spring Rest. This is an essential course to provide a solid foundation for using Spring core and Spring ancillary technologies in your projects.

Spring Boot

Our Spring Boot training teaches students the skills required to master Spring Boot, the rapid application development tool that simplifies the bootstrapping and creation of Spring based applications. Although we recommend that one does the Spring Core course first it is not a requirement for this course. Knowledge of Spring Core makes troubleshooting Spring Boot errors much easier

Cloud Foundry

Besides the popular Spring Core and Spring Boot courses we also organise training, on request for the following Cloud Foundry platforms and tools:

  • Pivotal Cloud Foundry Developer Training
  • Pivotal Cloud Foundry Operator Training
  • Spring Cloud Developer Training
  • Spring Cloud Data Flow Developer Training
CourseDaysPrice (ex vat)
Spring Core Training4R18,000
Spring Boot Training3R17,000
RabbitMQ  Training3R20,000
Cloud Foundry Developer Training3R30,000
Cloud Foundry Operator Training3On Request
Spring Cloud Foundry Developer Training3On Request
Spring Cloud Data Flow Developer Training3On Request



Kaofela :: Botswana Revenue Services

Training was very practical and I liked the troubleshooting skills demonstrated which will help me greatly at work

Jason :: SEDA

Very pleasant training that covered a broad range of topics which exceeded expectation

Mayshiya :: Auditor General

I loved the relevance of the training content towards my daily work and improved knowledge for making relevant recommendations

Leeto :: ABSA

Thanks for everything, experience was great and worth every cent.

Thato :: FNB

The training was great and opened interesting channels that I never knew existed.

Saleha :: Bankserv Africa

I loved the practical examples and channels explored plus the instructor created an engaging environment.

Spring Core & Spring Boot Course Outline

Spring Core & Spring Boot Training Course Outlines

Spring Core Course Objectives

  • 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 the 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
  • Module 19: Microservices with Spring
    • Describe a Microservices architecture and explain the Pros and Cons
    • Explain the challenges of managing microservices
    • Describe Spring’s support for microservice applications
    • Building a simple Microservice system
  • Module 20: Reactive Spring Applications
    • Describe the basic concepts of Reactive programming
    • Write a ‘reactive’ Spring Application

Spring Boot Course Objectives

  • Introduction - Spring Essentials
    • Why Spring
    • Configuration using Spring
    • Bean creation
    • Data Management
  • Introduction - Spring Boot
    • Introduction to Spring Boot
    • Value Proposition of Spring Boot
    • High-level Spring Boot features
    • Creating a simple Boot application using SpringInitializr web-site
  • Spring Boot Auto configuration and Runtime
    • Dependency management using Spring Bootstarters
    • How auto-configuration works
    • Configuration properties
    • Overriding auto-configuration
    • Using CommandLineRunner
  • Spring JPA & Spring Data
    • Quick introduction to ORM with JPA
    • Benefits of using Spring with JPA
    • JPA configuration in Spring
    • Configuring Spring JPA using Spring Boot
    • Spring Data JPA dynamic repositories
  • Spring MVC
    • Introduction to Spring MVC and request processing
    • Controller method signatures
    • Using @Controller, @RestController [email protected] annotations
    • Configuring Spring MVC with Spring Boot
    • Spring Boot packaging options, JAR or WAR
  • REST with Spring MVC
    • An introduction to the REST architectural style
    • Controlling HTTP response codes with @ResponseStatus
    • Implementing REST with Spring MVC, @RequestMapping, @RequestBody and @ResponseBody
    • Spring MVC’s HttpMessageConverters and automatic content negotiation
  • Spring Security
    • What problems does Spring Security solve?
    • Configuring authentication
    • Implementing authorization by intercepting URLs
    • Authorization using OAuth
    • Authorization at the Java method-level
    • Understanding the Spring Security filter chain
  • Actuators, Metrics & Health Indicators
    • Enabling Spring Boot Actuator
    • Custom Metrics
    • Health Indicators
    • Creating custom Health Indicators
    • External monitoring systems
  • Spring Boot Testing
    • Spring Boot testing overview
    • Integration testing and slices
    • Slices to test different layers of the application

RabbitMQ & Cloud Foundry Training

RabbitMQ and Cloud Foundry Developer Training

RabbitMQ Training

  • Introduction to  Messaging and AMQP
    • Benefits of messaging and asynchronous systems
    • Why JMS isn’t enough
    • Introduction to AMQP
  • RabbitMQ Installation
    • Product description and main capabilities
    • Installation, directory structure, and configuration
    • Durability with the Mnesia database
    • Basic administration
    • Web management console
    • Multi-tenancy with virtual hosts
    • Logging with the firehose tracer
  • Development And Integration
    • Clients (Java, C#, Python, Ruby, etc.)
    • Focus on the Java client
    • Publishing and consuming messages
    • Managing AMQP resources
    • AMQP routing with exchanges and queues
    • Higher-level abstractions (Spring AMQP &Integration, Pika)
    • Messaging patterns
  • Reliable Messaging Development
    • Durable queues and exchanges
    • Persistent messages
    • AMQP and JMS transactions
    • AMQP acknowledgments
    • Dead lettering
    • Multiple transactional resources
  • Clustering
    • Scalable messaging architecture through clustering
    • Creating a cluster
    • Disk vs. RAM nodes
    • Administration of a cluster
    • Network partitions
  • High Availability
    • Cluster node failures and consequences
    • Mirrored queues
    • Slave synchronization
    • Client failover handling
  • Plugins
    • RabbitMQ plugins introduction
    • LDAP authentication
    • Shovel
    • Federation
    • Shovel vs federation
  • Stomp Performance
    • Impacts of configuration and client code options on performance
    • Flow control
    • Best practices
  • Security
    • Virtual hosts, users, and access control
    • Authentication
    • Secured communication
  • Operations and Monitoring
    • Disk, firewall, heartbeat tuning
    • Monitoring
    • Management API
    • Support for third-party monitoring tools
  • Spring AMQP (Optional)
    • Introduction to Spring
    • Spring AMQP overview
    • Spring’s AMQP template
    • Configuring AMQP Resources using Spring
    • Sending and receiving messages

Cloud Foundry Dev Training

  • An Introduction to Pivotal Cloud Foundry
    • Evolution of Cloud Architectures
    • Industry Trends
    • Cloud Foundry
  • Logging, Scale and HA
    • Cloud-Native Apps
    • Elastic Runtime Architecture
    • High Availability
  • Services
    • Cloud-Native Apps
    • Managed Services
    • User-Provided Service Instances
  • Manifests
    • Using Manifests
  • Application Security Groups
    • Managing Application Security Groups
  • Log Draining
    • Cloud-Native Apps
    • Loggregator Review
  • Blue-Green Deployments
    • Blue-Green Routing
    • Implications for App Design
  • Microservices
    • The Monolith
    • Microservices
  • Build Packs
    • Build pack API
  • Service Brokers
    • Service Broker API
  • Continuous Delivery
    • Continuous Delivery Defined
    • How Pivotal Cloud Foundry Enables Continuous Delivery
  • Route Service
    • Purpose
    • Request Flow
  • Advanced Topics
    • TCP Routing
    • Cascading failure
    • Distributed tracing
  • Security
    • Securing applications with UAA and OAuth2
    • Using route services for authentication

About Us

About Us

Jumping Bean is a open source integration & training company that's been delivering solutions to customers for over 20 years.


Our services include:


  • SLA support
  • Adhoc support
  • Hardening
  • Solutions architecture


  • SLA based support
  • Implementation support
  • Solutions Architecture
  • Performance tuning 


  • Advisory services
  • Implemenation support
  • Consulting
  • SLA support
  • Training 

Big Data

  • Google & AWS Big Data support
  • Data flow architecture
  • Implementation support
  • Training


  • Advisory Services
  • SOC service
  • Security Audits & Reviews
  • Training 

Software Development

  • Mobile Apps
  • Enterprise Apps 

Cloud Consulting

  • Migration
  • Cloud provider support
  • Work flow architecture
  • Automation
  • Big Data
  • Containerisation

Long Term Partnerships

We build long relationships with our customers that helps improve & understanding their needs. We offer customised solutions & training to meet business requirements.

Our clients include large & small businesses in South Africa & across the globe.  We offer both remote and on-site support.

Passion for Technology

We are passionate about open source & pride ourselves with living on the bleeding edge of technology innovation. Our customers lean on our practical experience with emerging technologies to ensure they get the benefits of early adopters & avoid the pitfalls.

Our Clients

Our Clients






Contact Us Anchor Tag

Contact Form

Jumping Bean Contact Form!

Contact Form