Search our courses
Training

Rapid advancements in cloud-based software delivery and virtualization have caused many developers to question the wisdom of a “Big Server” approach to deploying web applications. Spring Boot is a technology stack that builds on the popular Spring Framework to allow Spring-based applications as stand-alone jar files that host their own web servers. This approach works nicely with deployment automation and rapid scaling.

Cloud-based, highly-distributed applications face additional challenges in supporting a dynamic environment – especially around configuration, service discovery, service resilience and monitoring.  Spring Cloud embraces and extends the popular suite of open source cloud tools published by Netflix (Eureka, Hystrix, Ribbon, etc).

We offer the best spring boot course! This Mastering Microservices with Spring Cloud and Spring Boot training course introduces Spring Boot, Spring Cloud and the Netflix OSS suite as a way of deploying highly resilient and scalable RESTful services and web applications.


OBJECTIVES

In this Mastering Microservices with Spring Cloud and Spring Boot training, attendees will learn how to:

  •     Create Spring Boot projects
  •     Use databases and JPA in Spring Boot
  •     Create RESTful services with Spring Boot
  •     Deploy services that use Netflix Eureka, Hystrix and Ribbon to create resilient and scalable services

Mastering Microservices with Spring Boot and Spring Cloud

Course Code

GTWMSBC

Duration

4 Days

Course Fee

POA

Accreditation

N/A

Target Audience

This course will be particularly useful for architects, technology managers, and development leaders implementing or considering Microservices and DevOps for their organization including the following:

  •         Architects
  •         Software Reliability Engineers
  •         Engineers
  •         App Dev Managers
  •         Java Developers
  •         Lead Application Developers

 

Attendee Requirements

  • Students should have experience with Java development

Expand all

Course Description

Rapid advancements in cloud-based software delivery and virtualization have caused many developers to question the wisdom of a “Big Server” approach to deploying web applications. Spring Boot is a technology stack that builds on the popular Spring Framework to allow Spring-based applications as stand-alone jar files that host their own web servers. This approach works nicely with deployment automation and rapid scaling.

Cloud-based, highly-distributed applications face additional challenges in supporting a dynamic environment – especially around configuration, service discovery, service resilience and monitoring.  Spring Cloud embraces and extends the popular suite of open source cloud tools published by Netflix (Eureka, Hystrix, Ribbon, etc).

We offer the best spring boot course! This Mastering Microservices with Spring Cloud and Spring Boot training course introduces Spring Boot, Spring Cloud and the Netflix OSS suite as a way of deploying highly resilient and scalable RESTful services and web applications.


OBJECTIVES

In this Mastering Microservices with Spring Cloud and Spring Boot training, attendees will learn how to:

  •     Create Spring Boot projects
  •     Use databases and JPA in Spring Boot
  •     Create RESTful services with Spring Boot
  •     Deploy services that use Netflix Eureka, Hystrix and Ribbon to create resilient and scalable services
Course Outline

Chapter 1. Introduction to the Spring Framework

  •     What is the Spring Framework?
  •     Spring Philosophies
  •     Why Spring?
  •     Spring Modules
  •     Requirements and Supported Environments
  •     Using Spring with Servers
  •     Role of Spring Container
  •     Spring Example
  •     Avoiding Dependency on Spring
  •     Additional Spring Projects/Frameworks

Chapter 2. Spring Annotation Configuration

  •     Spring Containers
  •     Annotation-based Spring Bean Definition
  •     Scanning for Annotation Components
  •     Defining Component Scope Using Annotations
  •     JSR-330 @Named Annotation
  •     JSR-330 @Scope
  •     Annotation-based Dependency Injection
  •     Wiring Bean using @Inject
  •     @Autowired – Constructor
  •     @Autowired – Field
  •     @Autowired – method
  •     @Autowired – Collection
  •     @Autowired – Maps
  •     @Autowired & @Qualifier with Constructors, Fields, and Methods
  •     @Autowired & Custom Qualifiers
  •     @Autowired & Simple Custom Qualifier Field
  •     @Autowired & Simple Custom Qualifier Method
  •     @Autowired & CustomAutowireConfigurer
  •     Dependency Injection Validation
  •     @Resource
  •     @PostConstruct and @PreDestroy

Chapter 3. Spring Framework Configuration

  •     Java @Configuration Classes
  •     Defining @Configuration Classes
  •     Loading @Configuration Classes
  •     Modularizing @Configuration Classes
  •     Qualifying @Bean Methods
  •     Trouble with Prototype Scope
  •     Configuration with Spring Expression Language
  •     Resolving Text Messages
  •     Spring Property Conversion
  •     Spring Converter Interface
  •     Using Custom Converters
  •     Spring PropertyEditors
  •     Registering Custom PropertyEditors

Chapter 4. Introduction to Spring Boot

  •     What is Spring Boot?
  •     Spring Boot Main Features
  •     Spring Boot on the PaaS
  •     Understanding Java Annotations
  •     Spring MVC Annotations
  •     Example of Spring MVC-based RESTful Web Service
  •     Spring Booting Your RESTful Web Service
  •     Spring Boot Skeletal Application Example
  •     Converting a Spring Boot Application to a WAR File
  •     Externalized Configuration
  •     Starters
  •     The ‘pom.xml’ File
  •     Spring Boot Maven Plugin
  •     HOWTO: Create a Spring Boot Application

Chapter 5. Spring MVC

  •     Spring MVC
  •     Spring Web Modules
  •     Spring MVC Components
  •     DispatcherServlet
  •     Template Engines
  •     Spring Boot MVC Example
  •     Spring MVC Mapping of Requests
  •     Advanced @RequestMapping
  •     Composed Request Mappings
  •     Spring MVC Annotation Controllers
  •     Controller Handler Method Parameters
  •     Controller Handler Method Return Types
  •     View Resolution
  •     Spring Boot Considerations

Chapter 6. Overview of Spring Boot Database Integration

  •     DAO Support in Spring
  •     Spring Data Access Modules
  •     Spring JDBC Module
  •     Spring ORM Module
  •     DataAccessException
  •     @Repository Annotation
  •     Using DataSources
  •     DAO Templates
  •     DAO Templates and Callbacks
  •     ORM Tool Support in Spring

Chapter 7. Using Spring with JPA or Hibernate

  •     Spring JPA
  •     Benefits of Using Spring with ORM
  •     Spring @Repository
  •     Using JPA with Spring
  •     Configure Spring Boot JPA EntityManagerFactory
  •     Application JPA Code
  •     “Classic” Spring ORM Usage
  •     Spring JpaTemplate
  •     Spring JpaCallback
  •     JpaTemplate Convenience Features
  •     Spring Boot Considerations
  •     Spring Data JPA Repositories

Chapter 8. Introduction to MongoDB

  •     MongoDB
  •     MongoDB Features
  •     MongoDB’s Logo
  •     Positioning of MongoDB
  •     MongoDB Applications
  •     MongoDB Data Model
  •     MongoDB Limitations
  •     MongoDB Use Cases
  •     MongoDB Query Language (QL)
  •     The CRUD Operations
  •     The
  •     find
  •     Method
  •     The
  •     findOne
  •     Method
  •     A MongoDB QL Example
  •     Data Inserts
  •     MongoDB vs Apache CouchDB

Chapter 9. Working with Data in MongoDB

  •     Reading Data in MongoDB
  •     The Query Interface
  •     Query Syntax is Driver-Specific
  •     Projections
  •     Query and Projection Operators
  •     MongoDB Query to SQL Select Comparison
  •     Cursors
  •     Cursor Expiration
  •     Writing Data in MongoDB
  •     An Insert Operation Example
  •     The Update Operation
  •     An Update Operation Example
  •     A Remove Operation Example
  •     Limiting Return Data
  •     Data Sorting
  •     Aggregating Data
  •     Aggregation Stages
  •     Accumulators
  •     An Example of an Aggregation Pipe-line
  •     Map-Reduce

 Chapter 10. Spring Data with MongoDB

  •     Why MongoDB?
  •     MongoDB in Spring Boot
  •     Pom.xml
  •     Application Properties
  •     MongoRepository
  •     Custom Query Methods
  •     Supported Query Keywords
  •     Complex Queries
  •     Create JavaBean for Data Type
  •     Using the Repository

Chapter 11. Spring REST Services

  •     Many Flavors of Services
  •     Understanding REST
  •     RESTful Services
  •     REST Resource Examples
  •     REST vs SOAP
  •     REST Services With Spring MVC
  •     Spring MVC @RequestMapping with REST
  •     Working With the Request Body and Response Body
  •     @RestController Annotation
  •     Implementing JAX-RS Services and Spring
  •     JAX-RS Annotations
  •     Java Clients Using RestTemplate
  •     RestTemplate Methods

Chapter 12. Spring Security

  •     Securing Web Applications with Spring Security 3.0
  •     Spring Security 3.0
  •     Authentication and Authorization
  •     Programmatic v Declarative Security
  •     Getting Spring Security from Maven
  •     Spring Security Configuration
  •     Spring Security Configuration Example
  •     Authentication Manager
  •     Using Database User Authentication
  •     LDAP Authentication

Chapter 13. Spring JMS

  •     Spring JMS
  •     JmsTemplate
  •     Connection and Destination
  •     JmsTemplate Configuration
  •     Transaction Management
  •     Example Transaction Configuration
  •     Producer Example
  •     Consumer Example
  •     Converting Messages
  •     Message Listener Containers
  •     Message-Driven POJO’s Async Receiver Example
  •     Message-Driven POJO’s Async Receiver Configuration
  •     Spring Boot Considerations

Chapter 14. Microservices

  •     What is a “Microservice”?
  •     One Helpful Analogy
  •     SOA – Microservices Relationship
  •     ESB – Microservices Relationship
  •     Traditional Monolithic Designs and Their Role
  •     Disadvantages of Monoliths
  •     Moving from a Legacy Monolith
  •     When Moving from a Legacy Monolith
  •     The Driving Forces Behind Microservices
  •     How Can Microservices Help You?
  •     The Microservices Architecture
  •     Utility Microservices at AWS
  •     Microservices Inter-connectivity
  •     The Data Exchange Interoperability Consideration
  •     Managing Microservices
  •     Implementing Microservices
  •     Embedding Databases in Java
  •     Microservice-Oriented Application Frameworks and Platforms

 Chapter 15. Spring Cloud Config

  •     The Spring Cloud Configuration Server
  •     Why Configuration Management is Important
  •     Configuration Management Challenges in Microservices
  •     Separation of Configuration from Code
  •     Configuration Service
  •     How the Configuration Service Works
  •     Cloud Config Server Properties File
  •     Git Integration
  •     Properties
  •     Configuration Client
  •     Sample Client Config File
  •     Sample Client Application
  •     Dynamic Property Updates – Server
  •     Dynamic Property Update – Client
  •     Dynamic Property Update – Execute

Chapter 16. Service Discovery with Netflix Eureka

  •     Service Discovery in Microservices
  •     Load Balancing in Microservices
  •     Netflix Eureka
  •     Eureka Architecture
  •     Communications in Eureka
  •     Time Lag
  •     Eureka Deployment
  •     Peer Communication Failure between Servers
  •     Eureka Server Configuration
  •     Eureka Client/Service
  •     Eureka Client Properties
  •     Spring Cloud DiscoveryClient Interface
  •     ServiceInstance JSON
  •     ServiceInstance Interface
  •     What about Services
  •     Eureka and the AWS Ecosystem

Chapter 17. Load-Balancing with Netflix Ribbon

  •     Load Balancing in Microservices
  •     Netflix Ribbon
  •     Server-side load balance
  •     Client-side Load Balance
  •     Architecture
  •     Load Balance Rules
  •     RoundRobinRule
  •     AvailabilityFilteringRule
  •     WeightedResponseTimeRule
  •     RandomRule
  •     ZoneAvoidanceRule
  •     IPing Interface (Failover)
  •     Using Ribbon
  •     YAML Configuration
  •     Configuration Class
  •     Client Class
  •     Client Class Implementation
  •     Integration with Eureka (Service Discovery)
  •     Using Ribbon in the Amazon AWS Cloud

Chapter 18. Application Hardening with Netflix Hystrix

  •     Netflix Hystrix
  •     Design Principles
  •     Design Principles (continued)
  •     Cascading Failures
  •     Bulkhead Pattern
  •     Circuit Breaker Pattern
  •     Thread Pooling
  •     Request Caching
  •     Request Collapsing
  •     Fail-Fast
  •     Fallback
  •     Using Hystrix
  •     Circuit Breaker Configuration
  •     Fallback Configuration
  •     Collapser Configuration
  •     Rest Controller and Handler
  •     Collapser Service (Part 1)
  •     How the Collapser Works
  •     Hystrix Monitor
  •     Enable Monitoring
  •     Turbine
  •     The Monitor
  •     Monitor details

Chapter 19. Edge Components with Netflix Zuul

  •     Zuul is the Gatekeeper
  •     Request Handling
  •     Filters
  •     Filter Architecture
  •     Filter Properties
  •     filterType()
  •     filterOrder()
  •     shouldFilter()
  •     Run()
  •     Cancel Request
  •     Dynamic Filter Loading
  •     Filter Communications
  •     Routing with Eureka and Ribbon

Chapter 20. Distributed Tracing with Zipkin

  •     Zipkin
  •     Zipkin Features
  •     Architecture
  •     The Collector
  •     Storage
  •     API
  •     GUI Console
  •     Zipkin Console Homepage
  •     View a Trace
  •     Trace Details
  •     Dependencies
  •     Dependency Details
  •     Zipkin in Spring Boot
  •     Zipkin Configuration

Lab Exercises

    Lab 1. A Simple RESTful API in Spring Boot
    Lab 2. Use the Spring Web MVC Web Framework under Spring Boot
    Lab 3. Use the Spring JDBCTemplate under Spring Boot
    Lab 4. Use the Spring Data JPA under Spring Boot
    Lab 5. Learning the MongoDB Lab Environment
    Lab 6. Spring Data with MongoDB
    Lab 7. Create a RESTful API with Spring Boot
    Lab 8. Create a RESTful Client with Spring Boot
    Lab 9. Enable Basic Security
    Lab 10. Use AMQP Messaging with Spring Boot
    Lab 11. Use Netflix Eureka for Service Discovery
    Lab 12. Use Netflix Ribbon for Client-Side Load Balancing
    Lab 13. Use Netflix Hystrix for the Circuit Breaker Pattern
    Lab 14. EdgeComponents with Zuul
    Lab 15. Distributed tracing with Zipkin
    Lab 16. Spring Boot Project

Learning Path
Ways to Attend
  • Attend a public course, if there is one available. Please check our schedule, or register your interest in joining a course in your area.
  • Private onsite Team training also available, please contact us to discuss. We can customise this course to suit your business requirements.

Private Team Training is available for this course

We deliver this course either on or off-site in various regions around the world, and can customise your delivery to suit your exact business needs. Talk to us about how we can fine-tune a course to suit your team's current skillset and ultimate learning objectives.

Private Team Training | Contact us

Technical ICT learning & mentoring services

Private Team Training

Our instructors are specialist consultants with vast real world experience and expertise allowing them to design and deliver client-focused courses for your organisation.

Learn more about our Private Team Training

What Our Clients Say

“I particularly liked the heavy hands on sessions that went on with the training. Other than that, really liked Mark's training style. His experience in the field really shines through.”

 

Docker - GTDK1

Feb ‘19

“Instructor's ability to demonstrate new features that are not part of the course help show his mastery as well as prepare us for changes in the technology. Great work.

 

Using Docker & Kubernetes in Production - GTK8SG

Oct ‘18


“This course was an excellent insight into the Cloud Service Management world and equips me with the tools to go back to my company and build upon it.”

 

Cloud Service Manager - GTC13

Jan ‘19

 

''Fantastic course, looking forward to applying this in my work and home life. Excellent, practical approach, very motivational. I think the entire company should attend training.''

 

Being Agile in Business - GTBAB

Sept '19

“Excellent instructor. You can tell he really understands the concepts he's presenting and is very passionate about his work. He answered every question we asked and presented the course in an interesting and involving manner.”

 

Spring Boot Development - GTIT40

Nov ‘18

"Intelligence is the ability to avoid doing work, yet
getting the work done"

Linus Torvalds, creator of Linux and GIT

Technical ICT learning & mentoring services

About GuruTeam

GuruTeam is a high-level ICT Learning, Mentoring and Consultancy services company. We specialise in delivering instructor-led on and off-site training in Blockchain, Linux, Cloud, Big Data, DevOps, Kubernetes, Agile, Software & Web Development technologies. View our Testimonials

Download our eBrochure
Our Accreditation Partners
  •  
  •  
  •  
  •  

 

Upcoming Courses

Kubernetes Administration

20th - 23rd April - Galway

25th - 28th May - Cork

22nd - 25th June - Dublin

This Kubernetes Administration Certification training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster

Learn More

CompTIA Network+ FastTrack

Coming Soon

This fast-paced course teaches the essentials of networking and helps to prepare the student for the CompTIA Network+ certification.

Learn More

Applied Data Science and Big Data Analytics

Coming Soon

Learn about the theoretical and practical aspects of using Python in the realm of Data Science, Business Analytics, and Data Logistics

Learn More

Introduction to Python 3

21st - 23th April - Dublin

12th - 14th May -  Cork

16th - 18th June - Galway

Python is a powerful and popular object-oriented programming/scripting language with many high quality libraries.

Learn More

Newsletter

Stay up to date, receive updates on scheduled dates, new courses, offers, and events.

Subscribe to our Newsletter