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-ups 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

Spring Boot Training Course Outline

Master Spring Boot, the leading Java rapid development framework that lets you concentrate on solving the business problem and takes care of the plumbing and configuration of your development stack. Our Spring Boot training course will ensure your team is up-to-speed, productive and ready to take on your next project.
 
  • 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 Autoconfiguration and Runtime
    • Dependency management using Spring Bootstarters
    • How auto-configuration works
    • Configuration properties
    • Overriding auto-configuration
    • Using CommandLineRunner
  • Spring JPA & Spring Data
    • A 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 and@GetMapping 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

Spring Core Training Course Outline

Our Spring Core training is led by experienced instructors, either online or on premises with a mixture of theory and labs that ensures students master the core concepts and knowledge to master the Spring Framework.
 
  • 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

RabbitMQ Training

RabbitMQ is the message broker powering the applications of global giants to nimble start-ups. We offer training and consulting for RabbitMQ. Let our expert trainers and consultants help you get the most out of RabbitMQ.
 

RabbitMQ Course Outline

  • 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 acknowledgements
    • 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 Developer Training

Leverage the Cloud Foundry cloud application platform to make it  faster and easier to build, test, deploy, and scale apps in your choice of cloud, framework, and language. Cloud Foundry removes the cost and complexity associated with configuring, managing, and securing infrastructure for your app. Our cloud foundry training will help you get up-to-speed and productive with the platfom in no time.
 

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

Our Clients

Absa Bank Dimension Data Teraco Discovery Health South African Revenue Service First National Bank Allan Grey multichoice CSIR Standard Bank University of Johannesburg MTN Mr Price

Contact Us

Please contact us for any queries via phone or our contact form. We will be happy to answer your questions.

3 Appian Place,373 Kent Ave
Ferndale,
2194 South Africa
Tel: +2711-781 8014 (Johannesburg)
  +2721-020-0111 (Cape Town)
ZA

Contact Form

contactform.caption

Contact Form