Learn Spring Boot 3 in 100 Steps - Beginner to Expert

Video description

Spring Boot is a powerful framework that simplifies the development of REST services. It enables developers to effortlessly create production-ready Spring-based applications that can be run immediately.

Throughout the course, you will learn how to build web applications and REST APIs with Spring Boot, using auto-configuration, Spring Initializr, and starter projects. You will also learn how to connect to a database using JPA/Hibernate, write great unit and integration tests using Spring Boot Starter Test, and make the best use of Spring Boot Actuator and Spring Boot Developer Tools.

Additionally, you will learn how to externalize application configuration using Spring Boot profiles and dynamic configuration and understand the embedded servlet container options provided by Spring Boot. You will also gain a good understanding of the basics of developing a web application, including POST, GET, HTTP, and MVC patterns, as well as how to style your web page using the Bootstrap framework.

By the end of the course, you will have developed a basic Todo management Java application with login and logout functionalities, as well as a basic REST service to manage a survey questionnaire. You will also have gained a solid understanding of the features of Spring Boot and be well-equipped to start developing your own Spring Boot applications.

What You Will Learn

  • Build web applications with Spring Boot 3
  • Create Spring MVC controllers to handle requests and responses
  • Connect to databases using JPA/Hibernate and Spring Boot
  • Write unit and integration tests using Spring Boot Starter Test
  • Develop REST APIs with Spring Boot and explore best practices
  • Configure Spring Security for Spring Boot REST APIs

Audience

This course is designed for those who are interested in learning about Spring Boot and its benefits. It is suitable for those who want to develop their first RESTful API or web application using Spring Boot.

If you are an experienced developer who is new to Spring Boot, this course will help you discover what the hype is about. Additionally, if you are looking to understand the magic behind Spring Boot, this course will provide you with the necessary knowledge and skills.

To fully benefit from the course, you should have some working experience with Java and annotations. However, don’t worry if you don’t have experience with Eclipse, Maven, and Tomcat. The course will guide you on how to install Eclipse and get started with Maven and Tomcat.

About The Author

In28Minutes Official: Ranga Karanam is a seasoned technologist and architect with over two decades of expertise in programming, design, and architecture. He founded in28Minutes with the goal of helping students master cutting-edge cloud-native technologies such as AWS, Azure, Google Cloud, Docker, and Kubernetes. With 15 years of experience in Java programming and design, Ranga has collaborated with top banking clients worldwide.

His passion for creating hands-on courses with real-world projects motivated him to develop the Step-By-Step series of courses that follow a problem-solution-based approach, with practical and real-world application examples.

Ranga and his team at in28Minutes specialize in Java and related frameworks such as Spring, Spring Boot, Spring MVC, Struts, and Hibernate. They are committed to equipping learners with the skills and knowledge necessary to succeed in today’s rapidly evolving technology landscape.

Table of contents

  1. Chapter 1 : Introduction
    1. Course Preview
    2. Course Learning Objective
    3. Installing Java and Eclipse
  2. Chapter 2 : Introduction to Spring Boot in 10 Steps - V2
    1. Step 01 - Getting Started with Spring Boot - Goals
    2. Step 02 - Understanding the World before Spring Boot – 10,000 Feet Overview
    3. Step 03 - Setting Up New Spring Boot Project with Spring Initializr
    4. Step 04 - Build a Hello World API with Spring Boot
    5. Step 05 - Understanding the Goal of Spring Boot
    6. Step 06 - Understanding Spring Boot Magic - Spring Boot Starter Projects
    7. Step 07 - Understanding Spring Boot Magic - Autoconfiguration
    8. Step 08 - Build Faster with Spring Boot DevTools
    9. Step 09 - Get Production-Ready with Spring Boot - 1 - Profiles
    10. Step 10 - Get Production-Ready with Spring Boot - 2 - ConfigurationProperties
    11. Step 11 - Get Production-Ready with Spring Boot - 3 - Embedded Servers
    12. Step 12 - Get Production-Ready with Spring Boot - 4 - Actuator
    13. Step 13 - Understanding Spring Boot Versus Spring Versus Spring MVC
    14. Step 14 - Getting Started with Spring Boot - Review
  3. Chapter 3 : Web Application with Spring Boot - V2
    1. Step 00 - Introduction to Building Web App with Spring Boot
    2. Step 01 - Creating Spring Boot Web Application with Spring Initializr
    3. Step 02 - Quick Overview of Spring Boot Project
    4. Step 03 - First Spring MVC Controller, @ResponseBody, @Controller
    5. Step 04 - 01 - Enhancing Spring MVC Controller to Provide HTML Response
    6. Step 04 - 02 - Exploring Step-by-Step Coding and Debugging Guide
    7. Step 05 - Redirect to a JSP Using Spring Boot - Controller, @ResponseBody and Vi
    8. Step 06 - Exercise - Creating LoginController and Login View
    9. Step 07 - Quick Overview - How Does Web Work - Request and Response
    10. Step 08 - Capturing QueryParams Using RequestParam and First Look at Model
    11. Step 09 - Quick Overview - Importance of Logging with Spring Boot
    12. Step 10 - Understanding DispatcherServlet, Model 1, Model 2, and Front Controller
    13. Step 11 - Creating a Login Form
    14. Step 12 - Displaying Login Credentials in a JSP using Model
    15. Step 13 - Add Hard-Coded Validation of User ID and Password
    16. Step 14 - Getting Started with Todo Features - Creating Todo and TodoService
    17. Step 15 - Creating First Version of List Todos Page
    18. Step 16 - Understanding Session Versus Model Versus Request - @SessionAttributes
    19. Step 17 - Adding JSTL to Spring Boot Project and Showing Todos in a Table
    20. Step 18 - Adding Bootstrap CSS framework to Spring Boot Project Using webjars
    21. Step 19 - Formatting JSP Pages with Bootstrap CSS Framework
    22. Step 20 – Let's Add a New Todo - Create a New View
    23. Step 21 - Enhancing TodoService to Add the Todo
    24. Step 22 - Adding Validations Using Spring Boot Starter Validation
    25. Step 23 - Using Command Beans to Implement New Todo Page Validations
    26. Step 24 - Implementing Delete Todo Feature - New View
    27. Step 25 - Implementing Update Todo - 1 - Show Update Todo Page
    28. Step 26 - Implementing Update Todo - 1 - Save Changes to Todo
    29. Step 27 - Adding Target Date Field to Todo Page
    30. Step 28 - Adding a Navigation Bar and Implementing JSP Fragments
    31. Step 29 - Preparing for Spring Security
    32. Step 30 - Setting Up Spring Security with Spring Boot Starter Security
    33. Step 31 - Configuring Spring Security with Custom User and Password Encoder
    34. Step 32 - Refactoring and Removing Hardcoding of User ID
    35. Step 33 - Setting Up a New User for Todo Application
    36. Step 34 - Adding Spring Boot Starter Data JPA and Getting H2 Database-Ready
    37. Step 35 - 01 - Configuring Spring Security to Get H2 Console Working
    38. Step 35 - 02 - JDBC to Spring JDBC to JPA to Spring Data JPA – 10,000 Ft Overview
    39. Step 36 - Making Todo an Entity and Population Todo Data into H2
    40. Step 37 - Creating TodoRepository and Connecting List Todos Page from H2 Database
    41. Step 38 - 01 - Connecting All Todo App Features to H2 Database
    42. Step 38 - 02 - Exploring Magic of Spring Boot Starter JPA and JpaRepository
    43. Step 39 - Overview of Connecting Todo App to MySQL database
    44. Step 40 - Optional Hands-On - Installing Docker
    45. Step 41 - Optional Hands-On - Connecting Todo App to MySQL database
  4. Chapter 4 : Introduction to JUnit in 5 Steps - V2
    1. Step 01 - What Is JUnit and Unit Testing?
    2. Step 02 - Your First JUnit Project and Green Bar
    3. Step 03 - Your First Code and First Unit Test
    4. Step 04 - Exploring Other Assert Methods
    5. Step 05 - Exploring Few Important JUnit Annotations
  5. Chapter 5 : Introduction to Mockito in Five Steps - V2
    1. 02 Step 00 - Introduction to Section - Mockito in Five Steps
    2. 02 Step 01 - Setting Up a Spring Boot Project
    3. 02 Step 02 - Understanding Problems with Stubs
    4. 02 Step 03 - Writing Your First Mockito Test with Mocks
    5. 02 Step 04 - Simplifying Tests with Mockito Annotations - @Mock, @InjectMocks
    6. 02 Step 05 - Exploring Mocks Further by Mocking List Interface
  6. Chapter 6 : Spring Boot Deep Dive with a REST API - V2
    1. Step 01 - Quick Introduction to REST - Understand Resource and Actions
    2. Step 02 - Creating Spring Boot Project for REST with Maven and Eclipse
    3. Step 03 - Creating Your First Spring Boot Resource - Hello World
    4. Step 04 - Creating a Second Spring Boot Resource Method - Hello World Bean
    5. Step 05 - Exploring Path Params and Path Variables with Spring Boot
    6. Step 06 - Getting Ready for Survey Questionnaire REST API
    7. Step 07 - Creating First Survey Spring Boot REST API - GET All Surveys
    8. Step 08 - Creating Second Survey Spring Boot REST API Method - GET a Survey
    9. Step 09 - Exploring REST API Best Practices - Request Methods and Response Status
    10. Step 10 - Exercise -Creating Survey Question-Related Spring Boot REST API Method
    11. Step 11 - Creating Spring Boot REST API to Create Survey Question - POST
    12. Step 12 - Improving POST Method - Status CREATED and Location Header
    13. Step 13 - Implementing Spring Boot REST API Method to DELETE a Question
    14. Step 14 - Implementing Spring Boot REST Method to Update a Question - PUT
    15. Step 15 - Setting Up Spring Boot Data JPA with H2 Database and User Entity
    16. Step 16 - Exploring Spring Boot Data JPA Using Command-Line Runner
    17. Step 17 - Creating User REST API with Spring Boot Starter Rest
    18. Step 18 - Writing Your First Spring Boot Integration Test
    19. Step 19 - Writing Asserts for JSON in Spring Boot Tests - JsonAssert
    20. Step 20 - Improving JUnit Asserts for Spring Boot Integration Test
    21. Step 21 - Writing Spring Boot Integration Test for GET Method Returning List
    22. Step 22 - Writing Spring Boot Integration Test for POST method Creating a Question
    23. Step 23 - Understanding JUnit Best Practice - Have Zero Side Effects
    24. Step 24 - Writing Your First Spring Boot Mock MVC Unit Test
    25. Step 25 - Improving Asserts for Spring Boot Mock MVC Unit Test
    26. Step 26 - Writing Spring Boot Mock MVC Unit Test for POST Method
    27. Step 27 - Getting Started with Spring Boot Starter Security
    28. Step 28 - Configuring Spring Security for Spring Boot REST API
    29. Step 29 - Fixing Spring Boot Unit and Integration Tests
  7. Chapter 7 : Appendix - Introduction to Spring Framework
    1. Step 01 - Getting Started with Spring Framework - Goals
    2. Step 02 - Setting Up New Spring Project with Spring Initializr
    3. Step 03 - Iteration 1 - Building Tightly Coupled GameRunner and MarioGame
    4. Step 04 - Understanding Tight Coupling
    5. Step 05 - Iteration 2 - Loose Coupling Level 1 - Interfaces
    6. Step 06 - Exploring Loose Coupling with Interfaces - PacmanGame
    7. Step 07 - Iteration 3 - Loose Coupling Level 2 - Spring Framework
    8. Step 08 - Q1 - Spring Framework - Understanding What’s Happening in the Background
    9. Step 09 - Q2 - Spring Framework - Understanding Important Terminology
    10. Step 10 - Q3 - Spring Framework - Does Spring Framework Add Value?
    11. Step 11 - Q4 - Spring Framework - Running Super Contra
    12. Step 12 - Q5 - Spring Framework - Maven
    13. Step 13 - Exploring Spring Framework Dependency Injection Types
    14. Step 14 - Exploring Spring Modules
    15. Step 15 - Exploring Spring Projects
    16. Step 16 - Getting Started with Spring Framework - Review
  8. Chapter 8 : Appendix - Introduction to JPA with Spring Boot in 10 Steps
    1. Step 01 - Getting Started with JPA and Hibernate - Goals
    2. Step 02 - Setting Up New Spring Boot Project for JPA and Hibernate
    3. Step 03 - Launching Up H2 Console and Creating Course Table in H2
    4. Step 04 - Getting Started with Spring JDBC
    5. Step 05 - Inserting Hardcoded Data Using Spring JDBC
    6. Step 06 - Inserting and Deleting Data Using Spring JDBC
    7. Step 07 - Querying Data using Spring JDBC
    8. Step 08 - Getting Started with JPA and EntityManager
    9. Step 09 - Exploring the Magic of JPA
    10. Step 10 - Getting Started with Spring Data JPA
    11. Step 11 - Exploring Features of Spring Data JPA
    12. Step 12 - Understanding the Difference between Hibernate and JPA
  9. Chapter 9 : Congratulations
    1. Congratulations!
  10. Chapter 10 : Appendix - Introduction to Functional Programming in 30 Minutes
    1. Step 00 - Introduction to Functional Programming - Overview
    2. Step 01 - Getting Started with Functional Programming with Java
    3. Step 02 - Writing Your First Java Functional Program
    4. Step 03 - Improving Java Functional Program with Filter
    5. Step 04 - Using Lambda Expression to Enhance Your Functional Program
    6. Step 05 - Do Functional Programming Exercises with Streams, Filters, and Lambdas
    7. Step 06 - Using Map in Functional Programs—with Exercises
    8. Step 07 - Understanding Optional Class in Java
    9. Step 08 - Quick Review of Functional Programming Basics

Product information

  • Title: Learn Spring Boot 3 in 100 Steps - Beginner to Expert
  • Author(s): In28Minutes Official
  • Release date: March 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781788996624