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 trainings 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  micro services 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
Course Days Price (ex vat)
Spring Core Training 4 R18,000
Spring Boot Training 3 R17,000
RabbitMQ  Training 3 R20,000
Cloud Foundry Developer Training 3 R30,000
Cloud Foundry Operator Training 3 On Request
Spring Cloud Foundry Developer Training 3 On Request
Spring Cloud Data Flow Developer Training 3 On Request

Testimonials

What our alumni have to say about our training   

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 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 confuguration 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 requestprocessing
    • 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

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 N ative 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
  • Continous 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 an open source integration and training company that has been delivery solutions to customers for over 17 years.

Our services include:

  • Support
    • 24x7SLA based
    • Ad-hoc support,
  • Security consulting
    • Vulnerability scans,
    • Server hardening
    • Penetration tests
  • Training
    • Linux
    • Java
    • DevOps
    • Cloud

Long-Term Partnerships

We build long relationships with our customers which helps us better  understand their needs and offer customised solutions and training to meet their business requirements.

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

Passion for Technology

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

Training 100% Money Back Guarantee

We are so confident of the quality of our training that our courses carry a 100% money back guarantee. If at the end of the first day of training you are unsatisfied with the course we will refund 100% of your spend no questions asked!

Our Clients

Our Clients

 

 

 

 

 

Contact Us Anchor Tag

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

Jumping Bean
Appian Place, 373 Kent Ave
Ferndale,
2194
Tel: +2711-781 8014

Contact Form

Jumping Bean Contact Form!