Save BIG on New Skills

Copy coupon code

Spring Boot and Spring Cloud: The Complete Guide

All you need to know to create stand-alone, production-grade Spring-based Applications that you can "just run".

Bestseller 40,052+ Learners

Created By Samarth Narula

  • Expert-Taught Videos

  • Guided Hands-On Exercises

  • Capstone Projects

  • Outcome Focus

  • Auto-Graded Assessments

  • Cloud Labs

  • Recall Quizzes

  • Real-Time Insights

    What You Will Learn

    • Learn the concepts of the Spring Core framework.
    • Set up the Spring Core environment configurations.
    • Learn Inversion of Control (IOC), dependency injection.
    • Learn about Constructors and implement injection patterns.
    • Explore the creation, lifecycle and scope of Bean.
    • Learn the key elements of aspect-oriented programming.

    The KnowledgeHut Edge

    Superior Outcomes

    Focus on skilled-based outcomes with advanced insights from our state-of-the art learning platform.

    Immersive Learning

    Go beyond just videos and learn with recall quizzes, interactive ebooks, case studies and more.

    World-Class Instructors

    Course instructors and designers from top businesses including Google, Amazon, Twitter and IBM.

    Hands-On with Cloud Labs

    A fully-provisioned developer environment where you can practice your code right in your browser.

    Real-World Learning

    Get an intimate, insider look at leading companies in the field through real-world case studies.

    Industry-Vetted Curriculum

    Curriculum primed for industry relevance and developed with guidance from industry advisory boards.

    Curriculum

    Video preview 1.

    Learning Objectives:

    You'll be introduced to Spring Boot. You'll know the reasons to choose the Spring Boot framework and learn the differences between micro services and monolithic services. You'll explore the characteristics of Spring Boot, and how Spring Boot is better than the initial Spring framework. You’ll gain a hands-on introduction to Spring Initializer and see the implementation of a project with Spring Initializer. You’ll understand how applications run in the context of Spring and Spring Boot in Java.

    • Characteristics of Spring Boot
    • Hands on With Spring Initializr
    • How Spring Boot Application Runs
    Video preview 2.

    Learning Objectives:

    You’ll learn about the various Dev Tools and understand how to configure and implement them.

    • What Are Dev Tools and How Do They Work?

    Learning Objectives:

    In this module, you’ll gain a hands-on understanding of actuators and its health endpoint. You’ll learn how to inject actuator dependency, followed by an understanding of the health endpoint. You’ll also learn about Info Endpoints.

    You’ll understand how to enable Hidden Actuator Info Endpoint. You’ll implement Info Endpoint and finally look at practical applications of info endpoints.

    • Performance Monitoring With Actuators
    • Actuators Info Endpoint
    • Actuators Info Endpoint
    • How to Change Actuator Base URL to a Custom URL?
    Video preview 4.

    Learning Objectives:

    You’ll learn about different deployment environments available in the IT industry. With an introduction to profiling, you’ll implement dev. You’ll test, UAT and prod environment profiles. Next, you’ll learn about the configuration required to change the port number, and the configuration required to set an active profile.

    You’ll also learn about some PowerShell commands, which can be leveraged to solve this problem.

    • Different Deployment Environments in It Industry
    • Profiling
    • Resolving ‘Port Already in Use’ Issue
    Video preview 5.

    Learning Objectives:

    In this module, you’ll start with understanding the naming convention to follow while creating new packages in the Spring Boot application. You’ll also learn about component scan and how it works, create a model class and implement the concept of encapsulation in it.

    You’ll learn about shortcuts in Eclipse IDE, to generate all the POJO methods. Finally, you’ll learn about CommandLineRunner. With an introduction to CommandLineRunner, you’ll understand how it works and when it is used. You’ll also test the model design with the command-line runner.

    • Model Design, Package Naming Convention and Component Scan
    • Test Model Design With Commandlinerunner

    Learning Objectives:

    In this module, you’ll learn about the Lombok Framework. Starting with an introduction to the Lombok framework, you’ll understand the meaning of boilerplate code and how the Lombok framework helps us.

    You’ll configure the Lombok framework. You’ll also learn how to get rid of Boilerplate code with Lombok annotations such as at the rate getter, at the rate setter and at the rate To String. You’ll learn how to fix background issues generated by the Lombok framework with a quick fix and finally look at viewing the outline of the class in Eclipse IDE.

    • Introduction to Lombok Framework
    • First Time Configuration of Lombok
    • Get Rid of Boilerplate Code With Lombok Annotation

    Learning Objectives:

    In this module, you’ll learn about the Lombok Framework. Starting with an introduction to the Lombok framework, you’ll understand the meaning of boilerplate code and how the Lombok framework helps us.

    You’ll configure the Lombok framework. You’ll also learn how to get rid of Boilerplate code with Lombok annotations. Finally, you’ll learn how to fix background issues generated by the Lombok framework with a quick fix and finally look at viewing the outline of the class in Eclipse IDE.

    • Introduction to Controllers, Mapping Methods, and Dispatcherservlet
    • Difference Between @Restcontroller and @Controller Annotations; Use of @Getmapping Annotation
    • Using @Data to Cut Down Lombok Boilerplate Code
    • Create a Post API; Install and Use Postman Plugin in the Chrome Browser
    Video preview 8.

    Learning Objectives:

    With this module, you’ll understand the default API info visible on Swagger UI. You’ll learn to customize API info. You’ll learn how to configure Swagger UI.

    • Configuring Swagger UI
    • Customizing API Info

    Learning Objectives:

    In this module, you’ll learn about the use of Lombok annotations, @AllArgs constructor, and @NoArgs constructor. You’ll implement the constructor injection pattern with @AllArgs Constructor and @NoArgs constructor annotations.

    You’ll be introduced to the telescoping constructor design pattern, followed by its implementation. Then, you’ll understand when to use the telescoping constructor design pattern. You’ll also learn about the best alternative to telescoping constructor design pattern that is the builder pattern and how to implement the builder pattern by leveraging the Lombok annotation at the rate builder.

    You’ll learn about complex object creation with the builder design pattern. You’ll understand complex objects and learn about the difference between simple and complex objects. Also, you’ll understand and implement complex object creation with builder design pattern, and finally test the application code with the help of CommandLineRunner.

    • @AllArgsConstructor and @NoArgsConstructor
    • Telescoping Constructor Design Pattern
    • Builder Pattern
    • Complex Object Creation with Builder Design Pattern
    Video preview 10.

    Learning Objectives:

    In this module, you’ll learn to create a service class. You’ll start with an introduction to service class and service tier, then create a service class and finally understand the use of at the rate component annotation.

    You’ll learn about the Lombok annotation at the rate Slf4j. Implement info level logger with at the rate SLf4j in the service class. You’ll hit some APIs to execute the log statements and view them on the console. Then, you’ll look at the logging levels supported by at the rate SLf4j and understand the functional style of logging and testing the application with CommandLineRunner and Swagger UI.

    • Introduction to Service Class
    • Initializing Logger with Lombok Annotation @Slf4j

    Learning Objectives:

    In this module, you’ll start with an introduction to embedded database and then understand where to use the embedded H2 database.

    You’ll learn how to use H2 console UI. You’ll start by learning how to access the H2 console, followed by learning how to use it for executing queries.

    • Embedded Database H2
    • Configuring H2 Database
    • How to Use H2 console UI?
    Video preview 12.

    Learning Objectives:

    You’ll understand what entity classes are and how they get mapped to database tables. You’ll learn about the difference between POJO and entity classes by designing the entity class bookstore. You’ll learn how to create an entity class with the JPA annotations at the rate Entity and at the rate ID and access the mapped table using the H2 console UI. Finally, you’ll learn how to use a true console UI to insert values in the derived table of the entity class.  

     

    • What are Entity Classes?  
    • Difference between POJO and Entity classes 

    Learning Objectives:

    You’ll learn about JPA and Hibernate. You’ll look at what they are and their uses. You’ll learn how to create a Spring Boot repository using JPA. You’ll create a bookstore repository and then extend it with the JPA repository interface.

    You’ll learn how to create a POST API called create bookstore. You’ll also create a GET API called get bookstores. You’ll then create a GET API called get bookstore by ID. You’ll create a GET API called get bookstore Which Has Particular Books. You’ll create a GET API called get Book Stores In Paged Format. You’ll create a GET API called countBookStores. Then, you’ll create a GET API called bookStoreExistById.

    You’ll create a PUT API called update BookStoreName. You’ll then create a Delete API called deleteBookStoreById. Finally, you’ll create a Delete API called truncateBookStore in the BookstoreCRUDServiceIMPL class and test the method with the CommandLineRunner.

    • Pa and Hibernate
    • Creating a Spring Boot Repository
    • Create a Post API ‘Createbookstore()’
    • Create a Get API ‘Getbookstores()’
    • Create a Get API ‘Getbookstorebyid()’
    • Create a Get API for Particular Books
    • Create a Get API Getbookstoresinpagedformat()
    • Create a Get API Countbookstores()
    • Create a Get API Bookstoreexistbyid()
    • Create a Put API Updatebookstorename()
    • Create a Delete API Deletebookstorebyid()
    • Create a Delete API Truncatebookstore()

    Learning Objectives:

    You’ll understand the difference between compile-time and runtime exceptions. You’ll implement runtime exceptions in the bookstore application.

    Finally, you’ll implement compile-time exceptions in a bookstore application.

    • Compile Time and Runtime Exceptions
    • Implement Runtime Exception
    • Compile-Time Exceptions in Library Applications
    Video preview 15.

    Learning Objectives:

    You’ll learn about creating and implementing custom runtime exceptions. You’ll start with creating a custom runtime exception class BookStoreNotFoundRuntime ExceptionClass. Then, you’re going to modify the updateBookstoreName method, and throw this new custom runtime exception.

    You’ll learn to create and implement a custom compile-time exception. You’ll do this by creating a BookstoreNotFoundException class, modifying the updateBookStoreName method, and throwing the BookstoreNotFoundException.

    • Creating and Implementing Custom Runtime Exception
    • Creating and Implementing a Custom Compile Time Exception

    Learning Objectives:

    In this module, you’ll learn what is custom exception handler in Spring Boot. You’ll learn to create responseErrorDto to class. You'll create a response error DTO class with variables such as timestamp, and a list of error messages.

    You’ll handle custom runtime exceptions. You’ll learn about @RestControllerAdvice and @ControllerAdvice annotations. You’ll learn how to create an exception handler method to handle custom compile-time exception.

    You’ll create an exception handler method to handle global runtime exception. You’ll create an exception handler method to handle global compile-time exceptions. Finally, you’ll learn to create and implement a custom compile-time exception.

    • Custom Exception Handler
    • Creating ResponseErrorDto Class
    • Handling Custom Runtime Exceptions
    • @RestControllerAdvice and @ControllerAdvice annotations
    • Handling Custom Compile Time Exception
    • Handling Global Runtime Exceptions
    • Handling Global Compile Time Exceptions

    Learning Objectives:

    You’ll learn what configuration management is. You’ll learn the different tools we can use for configuration management. You’ll then explore the dependencies required for a Spring Boot Cloud Config Server project and look @enable Config Server annotation.

    You’ll get a walk through the Spring Cloud Config Client 1 project. You’ll Learn how to point the Spring Cloud Config Server to a remote Git repository by first creating a remote Git repository and then pushing the changes from the local Git repository to the remote Git repository.

    You’ll learn how to refresh imported properties. You’ll also learn how to manage configurations for multiple projects. Finally, you’ll create and implement a custom compile-time exception.

    • Introduction to Configuration Management
    • Tools for Configuration Management
    • Spring Boot Cloud Config Server Project
    • Spring Cloud Config Client 1 Project
    • Pointing the Spring Cloud Config Server to Remote Git Repo
    • Refresh Imported Properties
    • Managing Configurations for Multiple Projects

    Learning Objectives:

    In this module, you'll delve into the importance of Inter-Process Communication and acquire hands-on expertise in implementing effective communication through OpenFeign. You'll also learn to master the art of facilitating smooth process interactions using OpenFeign within the Spring Cloud framework. 

    • Inter-Process Communication
    • Implementing Inter-Process Communication with OpenFeign
    Video preview 19.

    Learning Objectives:

    In this module, you’ll learn how to create a security group in AWS. You’ll Understand what a security group is and then create one, which you can also use for any EC2 instance in the future.

    While creating the security group, you’ll set some inbound and outbound rules. The inbound rules will allow the ipv4 and ipv6 source traffic and SSH TCP protocol port 22 sources. The outbound rules will allow all ipv4 destination traffic.

    You’ll look at how to deploy an application to AWS EC2 service. You’ll follow the instructions written in the EC2 Deployment Guide provided and deploy the Spring Boot bookstore design application to an AWS EC2 Linux instance.

    • Create a Security Group in AWS
    • Deployment to AWS EC2 Service
    20.

    As part of this Capstone project, you are going to design a Parking Lot Application, which can be used for keeping track of vehicles parked in the parking lot.   

    Prerequisites

    • The course requires learners to have intermediate Java skills and familiarity with using an IDE, such as Spring Tool Suite.

    What Learners Are Saying

    The projects and recall exercises are very helpful in terms of putting learning into action. And with so many features!

    C
    Charlie Holland

    Developer

    This course helped me brush up on Spring Boot. Never thought this self-learning course will have such simple explanations.

    S
    Sam Day

    Solutions Architect

    Goes from scratch and covers all the advanced concepts of building spring-based apps. The self-learning videos are brilliant. 

    V
    Val Washington

    Software Tester

    This is an apt course for upskilling as it has everything that's needed to build production grade applications really fast.

    J
    Jaden Jackson

    Developer

    Perfect course with assignments, assessments, and projects. I could acquire skills necessary to build spring-based apps.

    B
    Brett Barrett

    Team Lead

    How Our Course Compares

    YouTube Videos Online Courses KnowledgeHut

    On-Demand Videos

    Immersive Learning Experience

    Hands-On with Cloud Labs

    Structured Curriculum

    Course Curated by Industry Experts

    Auto-Graded Assessments

    Real-World Projects

    Lifetime Access to Courseware

    Course Advisor

    Samarth Narula
    Samarth Narula

    Principal Software Engineer

    Samarth has 10+ years of experience in lead tech roles as Full-Stack Microservice Cloud DevOps Engineer, Senior Software Engineer for Oracle and Full-Stack Java Developer and Cloud Engineer for Goldman Sachs and MasterCard through Accenture. 

    Course Advisor

    Samarth has 10+ years of experience in lead tech roles as Full-Stack Microservice Cloud DevOps Engineer, Senior Software Engineer for Oracle and Full-Stack Java Developer and Cloud Engineer for Goldman Sachs and MasterCard through Accenture. 

    Samarth Narula
    Samarth Narula

    Principal Software Engineer

    Students Also Bought

    Frequently Asked Questions

    Yes, you will experience KnowledgeHut's immersive learning in an on-demand format. This will include e-learning material to help you:

    • LEARN with recall quizzes, interactive ebooks, and case studies
    • ASSESS your skills progression with diagnostic, module-level, and final assessments
    • PRACTICE with real-world simulations and Cloud Labs
    • GAIN INSIGHTS with real-time reports and analytics on how you're progressing, your learning challenges, and suggestions of sections to revisit to build competency in the required areas.

    Yes, our online course is designed to give you flexibility to skill up as per your convenience. The course is delivered in a Self-Paced mode so that you can balance your work and learning as per your schedule.

    Yes! Upon passing this online course, you will receive a signed certificate of completion from KnowledgeHut. Thousands of KnowledgeHut alumni use their course certificate to demonstrate skills to employers and their networks.

    More than the certificate, however, you will get to showcase your newly acquired skills by working on real-world projects and adding these to your portfolio. KnowledgeHut’s online courses is well-regarded by industry experts, who contribute to our curriculum and use our tech programs to train their own teams.

    You can cancel your enrolment and receive refunds in line with our Cancellations and Refunds policy found at https://www.knowledgehut.com/refund-policy

    Please make sure that your computer meets the following software and system requirements: 

    • Software Requirements: Internet browser
    • System Requirements: Windows or equivalent environment with Internet browser and high-speed Internet connectivity.

    Yes, it does! In the unlikely event that you are not satisfied with the course, and you wish to withdraw within the first seven days, we’ll issue a 100% refund. Refer to our Online Self-Paced Courses Refund Policy for more details.