Spring Boot Fundamentals

Video description

Spring is one of the most widely used frameworks in the industry. Whether you are an experienced developer or a complete beginner, this course will get you up to speed with the basics of Spring Boot in an easy and systematic way.

You will start this course by exploring the problems with traditional Spring application development. You will then understand how easy it is to create and deploy an application using Spring Boot. In the next few sections, you will discover how Spring Boot can help you auto-configure a Spring project.

Later, the course will take you through everything from enabling health metrics for applications to customizing health metrics endpoints with your own information. You will also delve into Spring security and database caching. Finally, you will get your hands dirty with unit testing with MockMvc and learn about the Spring JMS in detail.

By the end of this course, you will be well-versed with the fundamentals of Spring Boot and have gained hands-on experience of creating Spring Boot applications from scratch.

What You Will Learn

  • Learn to test your Spring Boot applications
  • Perform Create, Read, Update, Delete (CRUD) operations against an in-memory database using Spring Data JPA and the MySQL database
  • Expose REST APIs using Spring Web
  • Enable and customize health metrics for applications
  • Create and use Spring Boot profiles
  • Learn about unit testing using MockMvc and Spring JMS


This course is for anyone with experience in Java, and for Spring developers who want to learn Spring Boot fundamentals. Basic knowledge of Spring Boot will be helpful but not essential.

About The Author

Bharath Thippireddy: Bharath Thippireddy is an entrepreneur, software architect, and public speaker who has trained over 350,000 students across the globe. He is an Oracle certified developer, web component developer, business component developer, and web services developer who loves learning new things in technology and personal development, and sharing them on his website and YouTube channel.

He has mentored students in classroom training as well as in the corporate world in India and USA and has spoken on technical topics at several Agile conferences. While in India, he volunteers to teach interviews and soft skills at Vivekananda Kendra.

Table of contents

  1. Chapter 1 : Introduction
    1. Course and Instructor Introduction
  2. Chapter 2 : Software Setup
    1. Install Java
    2. Install STS
    3. Install MySQL and MySQL Workbench
    4. Configure JDK in STS
    5. Launch MySQL Workbench
    6. Windows Only - Install MySQL
    7. Windows Only - Install MySQL Workbench
    8. Install Postman
  3. Chapter 3 : Basics
    1. The problems with the traditional Spring application
    2. Spring Boot Features
    3. Spring Boot in Action
  4. Chapter 4 : First Project
    1. Create a Spring Boot Project
    2. Spring Boot Starters in POM
    3. @SpringBootApplication
    4. @SpringBootTest
    5. Do Dependency Injection
    6. Testing
  5. Chapter 5 : Spring Data JPA
    1. Introduction
    2. Create the project
    3. Add Spring Data JPA Dependency
    4. Maven Dependencies
    5. Create Model Class
    6. Create the Repository
    7. Testing
    8. Show SQL
  6. Chapter 6 : Create REST CRUD API
    1. REST Introduction
    2. REST Web Services Using Spring Boot
    3. Create the DB Table
    4. Create the project
    5. Create the Model and Repository
    6. Mark with JPA annotations
    7. Create the Controller
    8. Get Single Product
    9. Create, Update, and Delete
    10. Configure the Data Source
    11. Run the application
    12. Running outside STS
    13. How Spring Boot Auto-Configuration Works
    14. Configure Context Path
    15. Test Create FindAll
    16. Test FindById and Update
    17. Changing the Embedded Server
  7. Chapter 7 : Creating a REST Client
    1. Introduction
    2. RestTemplate GET Method
    3. POST Method
    4. PUT Method
  8. Chapter 8 : Profiles
    1. Introduction
    2. Configure REST URL
    3. Create and Activate a Profile
    4. Activate Profile through VM Argument
  9. Chapter 9 : Logging
    1. Use Logging
    2. Log to File
    3. Change Log Level
  10. Chapter 10 : Health Checks and Metrics
    1. Introduction
    2. Enabling Health Checks
    3. Expose Health Details
    4. Add Build Info
    5. Expose Other Endpoints
    6. Custom Health Information
  11. Chapter 11 : Spring Security
    1. Enable Security
  12. Chapter 12 : Thymeleaf
    1. Introduction
    2. Thymeleaf in Action
    3. Special Syntax
    4. Sending Data to Template
    5. Create a Template
    6. Disable Cache
    7. Sending Object Data
    8. Rendering Multiple Records
    9. Create an HTML Form
    10. Process Form Data
  13. Chapter 13 : Database Caching
    1. Introduction
    2. Steps to Enable Caching
    3. Add Maven Dependencies
    4. Configure Caching
    5. Enable and Use Caching
    6. Caching in Action
  14. Chapter 14 : Spring Batch
    1. Introduction
    2. Batching API
    3. Create Project
    4. Create Reader
    5. Implement Processor Writer and Listener
    6. Configure the Beans
    7. Configure the Step
    8. Configure the Job
    9. Write a Test
    10. Batching in Action
    11. Configuring Chuck Size
    12. CSV to Database
    13. Create the Project and Model
    14. Create the CSV
    15. Implement Reader
    16. Implement Processor
    17. Implement Writer
    18. Configure the DataSource
    19. Configure Step and Job
    20. Write a Test
    21. CSV to DB in Action
  15. Chapter 15 : Unit Testing using MockMvc
    1. Introduction
    2. Create the Test
    3. Use MockMvc
    4. Expect Results
    5. Refactoring
    6. Test Create
    7. Test Update and Delete
  16. Chapter 16 : Messaging and Spring JMS
    1. What is Messaging?
    2. Why Messaging
    3. Two Message Models
    4. What is JMS
    5. Spring JMS
    6. Install Apache ActiveMQ
    7. Create the Project and Message Sender
    8. Create Message Listener
    9. Test
    10. More about Spring JMS
  17. Chapter 17 : Swagger REST Documentation QuickStart
    1. Introduction
    2. Spring Boot and Swagger
    3. Swagger in Action
    4. Swagger UI in Action
    5. Use Swagger Configuration
    6. Add Info
    7. Swagger Annotations
  18. Chapter 18 : Validations
    1. Introduction
    2. Validations in Actions
  19. Chapter 19 : REST File Upload and Download
    1. Introduction
    2. Create the Project
    3. Implement File Upload
    4. Test
    5. Implement and Test File Download
    6. RestTemplate APIs
    7. Upload Client
    8. Download Client

Product information

  • Title: Spring Boot Fundamentals
  • Author(s): Bharath Thippireddy
  • Release date: December 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781800203686