
Explore Spring Boot fundamentals, replacing XML and Java-based configuration with auto-configuration, connect to databases using Hibernate and Spring Data JPA, and build web services with health, security, and profiles.
Explore how this course blends short, focused lectures, sections, quizzes, hands-on work, and assignments, with easy software setup for Spring Tool Suite, MySQL, and Postman.
Install the latest Java JDK and set up Spring Tool Suite, then configure STS to point to the JDK home and use a standard VM.
Learn to install and configure MySQL and MySQL Workbench by downloading the installer, setting a root password, and ensuring the service starts on Windows or Mac.
Launch MySQL workbench, create a new connection to the local server on port 3306 with user root, test the password, and open a query window to create database my DB.
Install and launch MySQL Workbench, a graphical UI client for MySQL servers, connect to a local database, create a database, and run queries.
Install postman to test microservices restful APIs, learning to download, install, launch the app, and use get, post, put, patch with headers, JSON bodies, and basic authentication.
Download the completed Spring Boot projects from the resource section, unzip the zip to access the source code and pom.xml, and use them as reference while building from scratch.
Access and download the course slides from the resources section, with Keynote for Mac and Dot PPTs for Windows to review topics efficiently.
Examine the traditional spring challenges, including XML or annotation configuration, module dependencies, and external deployment. Spring Boot automates setup and deployment for rapid, reliable development.
Explore Spring Boot's four key features: auto configuration, Spring Boot starters, an embedded servlet container, and health checks via actuators.
Develop and deploy Java applications with Spring Boot by building a RESTful web service from scratch, using a Maven project, embedded Tomcat, and automatic configuration.
Create your first spring boot project in Spring Tool Suite using the starter project, set the name core and group com.bharath.core, and review the pom.xml and project structure.
The core application class, marked with @SpringBootApplication, serves as the starting point and runs via SpringApplication.run. It enables auto configuration, component scanning, and bean creation based on project dependencies.
Learn two key updates for Spring Boot tests: remove the RunWith annotation in the latest Spring Boot and use JUnit 5 packages, with no need to adjust test setup.
Configure tests with the Spring Runner and Spring Boot Test annotation to boot an application context from the Spring Boot application class, then autowire and test beans.
Verify dependency injection by testing that the payment service is instantiated and wired by Spring, and that the DAO is injected into the service during test execution.
Explore how spring data jpa and spring boot simplify building data access layers with repository interfaces per entity to perform crud, using h2 for testing and mysql for production.
Create the spring boot project by using spring tool suite to set up a spring starter project, configure group id com.bharath.springdatajpa, and add h2 in-memory database dependency.
Add the spring-boot-starter-data-jpa dependency to the pom.xml, remove the test scope, and ensure the spring-boot-starter-data-jpa dependency is correctly configured for the project.
Learn how spring boot starter dependencies pull in transitive libraries, including Hibernate for JPA by default, and how pom.xml manages Maven dependencies or swap to EclipseLink.
Create a model class named student with id, name, and score fields, then convert it to a JPA entity by annotating the class with @Entity and the id with @Id.
Create a student repository interface that extends the Spring Data JPA repository to automatically provide create, read, update, and delete operations for the student entity with a long id.
Explore testing with Spring Data JPA by injecting a repository, saving a student (insert or update), and validating CRUD operations with find by id, find all, and not-null assertions.
Build restful web services with Spring by creating a controller annotated with @RestController, mapping paths with @RequestMapping, and binding methods to http methods like GET and POST.
Create a product table in the database by running the provided SQL, defining id as integer primary key auto_increment, and adding name, description, and price fields using MySQL Workbench.
Create a new Spring Boot project in STS named product rest api, add Spring Data JPA, Spring Boot Starter Web, and MySQL JDBC connector to build a restful api.
Learn to mark the entity with JPA annotations, including @Entity, @Id, and @GeneratedValue with a generation strategy such as GenerationType.AUTO or IDENTITY, enabling auto-increment behavior in Hibernate.
Create a Spring Boot rest controller to expose a get /products endpoint that returns all products by injecting the product repository and mapping the request to the /products URI.
Implement a get single product endpoint in Spring Boot by receiving an id as a path parameter, fetching the product with repository.findById, and returning an Optional<Product> via HTTP GET.
Implement create, update, delete product operations for the restful API using POST, PUT, and DELETE on /products, with repository.save handling create or update, delete by id, and @RequestBody deserializes input.
Configure the data source by setting the jdbc url, username, and password in application.properties to connect Spring Boot to a local MySQL database on port 3306.
Learn to run a spring boot application outside the spring tools suite by building a fat jar or war and starting it with java -jar in dev or testing environments.
Test create and find all CRUD operations in Spring Boot by posting a product json with @RequestBody to the products endpoint, then verify the auto-incremented id, name, description, and price.
Test find by id and update operations with postman, retrieving single and all products using path variables and json payloads, and validating 200 ok responses.
Exclude the Tomcat dependency in the Spring Boot starter web and add an embedded server such as Jetty or Undertow to run the app.
Learn how to consume RESTful web services and build a REST client with Spring's RestTemplate, performing get, post, put, and delete operations and handling JSON serialization and deserialization.
Create a RestTemplate-based java restful client to fetch a single product using get for object, deserialize json into a Product class, and validate with JUnit.
Create a new product via a post using RestTemplate, set name and description, and assert the returned product has a non-null id and appears in the list.
Retrieve a product, then update its price with the rest template put method, and verify the change via JUnit test and Postman.
Explore how Spring Boot profiles enable environment-specific configurations, activating dev, staging, or production settings for servers, ports, databases, and messaging resources.
Learn to replace hard-coded rest urls with a property-driven base url in Spring Boot by defining it in application properties and injecting it with @Value for environment-specific tests.
Learn how to manage environment-specific configurations in Spring Boot by creating multiple configuration files and activating profiles (dev, testing) to switch base URLs and settings.
Learn to activate Spring Boot profiles dynamically using a VM argument, switching dev and testing environments via run configurations and -D spring.profiles.active, enabling environment-specific URLs and database settings.
Migrate Spring Boot logging configuration from deprecated properties to logging.file.name and logging.file.path, configuring a log file to capture all logs.
Configure Spring Boot to redirect logs to a file by setting the logging.file property in application.properties, restart the server, and review logs in the log/application.log file.
Learn to control log levels in Spring Boot using logging.level and application properties, targeting root, framework, or custom packages to adjust info or error output and manage logs.
Enable health monitoring in Spring Boot by adding the starter actuator, exposing health and info endpoints under /actuator, and preparing to access metrics in future lectures.
Expose health details in Spring Boot by configuring health endpoint properties under actuator, enabling show details to always reveal database status, disk space, and memory thresholds.
Learn to generate build-info metadata for a Spring Boot app by configuring the Spring Boot Maven plugin with a build-info goal, producing a build-info.properties on startup for the info endpoint.
Create a custom health indicator in spring boot, returning Health.up or Health.down with details, and annotate it as a component to expose custom health info via the actuator health endpoint.
Sample of the reviews:
I was given an assignment to start working on a spring boot project and this course gave me all the skills required to start working a spring boot project. All through the course, Bharath maintains the same pace, enthusiasm. You will definitely enjoy the course. Go for it without any doubt if you want to quickly learn spring boot with sufficient details. Thanks Bharath - Venu Reddy
This course is awesome. very clear to understand. I like all your courses very much. - Sahithi Muchala
Excellent explanation, clear understanding from end to end development of application, profile management, production knowledge - Sujatha
Really great course, Barath really dived into Spring Boot Fundamentals, and with this you don't have to waste so much time configuring a new project, spring boot really helps you with it - Bruno Militzer
---
All source code is available for download
Responsive Instructor - All questions answered within 24 hours
Professional video and audio recordings (check the free previews)
----
Are you a java developer with spring background who is interested in quickly mastering the fundamentals of Spring Boot then this course is for you.
Spring is the most widely used framework in the industry today. Looking at any java developer job posting you will see Spring Boot. This course is designed for experienced as well as complete beginners to learn the basics of Spring Boot in easy steps.
You will start this course by learning the problems with traditional Spring application development .You will then see how easy it is to create and deploy a application using spring boot. You will also
Create a Spring boot application from scratch
Updated to the latest Spring Boot 3.X Version
Understand the structure of a spring boot project
Test your spring boot application
Learn how Spring boot simplifies application creation
Perform CRUD operations against a in memory db using Spring Data JPA
Perform CRUD operations against MYSQL Database
Expose out REST APIs using Spring Web
Understand how spring boot auto configures a spring project
Enable health metrics for the application
Customize health metrics endpoint with your own information
Use Spring Boot Profiles
Use Thymeleaf Templating Web Engine
Configure database caching
Use Spring Batching
Write unit testing using SpringMockMVC
Do messaging using SpringJMS
Use Swagger to document your REST APIs
Upload and Download files using REST
Learn the fundamentals of Reactive Programming
Use Project Reactor and Spring Web Flux
Use Reactive MongoDB
Write Unit Test and Integration tests using Reactive Test Module
Learn what RSockets are
Create RSockets Server and Clients