Developing RESTful Java Web Services using Spring boot by Vinod Kayartaya

Developing RESTful Java Web Services using Spring boot

18 lectures - 1 hr 18 mins

What's included?

Video Icon 16 videos Text Icon 1 text file

Course content

Dive in
2 mins
Getting started
10 mins
Customer Rest Controller
10 mins
Customers data for our application
3 mins
UPDATE: H2 DB issue
Setting up H2 DB with data
4 mins
Mapping Customer class to customers table
6 mins
Getting data from DB in our rest controller
8 mins
Adding pagination
7 mins
Postman for making requests
3 mins
Get one customer
6 mins
Adding new customer
5 mins
Update customer data
4 mins
Delete a customer data
3 mins
Swagger for API Documentation
9 mins
Building distributable bundle
5 mins
Summary and thank you
1 min


  • You just need practice in fundamentals of Java programming language
  • NO NEED to know or have expertise in Spring framework

What will you learn in this course?

  • Get started with a spring boot application easily
  • Create a Customer Rest Controller
  • Get customers data for our application in SQL
  • Set up H2 database server with customer data
  • Map Customer class to customers table using JPA
  • Get data from DB in our rest controller using Spring Data JPA
  • Get paginated data using our web API
  • Download, install and use Postman for making requests
  • Get customer data based on id using path variable
  • Add new customer using HTTP POST request
  • Update customer data using HTTP PUT request
  • Delete a customer data using HTTP DELETE request
  • Add Swagger for API Documentation
  • Build a distributable bundle for production

Who this course is for:

  • You - if you want to develop Java RESTful web services using Spring boot
  • You - if you are a Java developer who want to scale up your skill list
  • You - if you are from Microsoft Web API background, and want to see it's Java equivalent


This course enables a regular Java developer with the power and simplicity of Spring boot applications. Via this course, you will understand the basic concepts of RESTful web services and how Spring boot simplifies the development of a standalone, self contained web service using which you can quickly develop and deploy production ready Java micro services. For taking this course, you DO NOT need to have prior knowledge of Spring framework.

Here is what you can read about Spring boot and a basic comparison of Spring framework and Spring boot.

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.


  • Create stand-alone Spring applications
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
  • Provide opinionated 'starter' dependencies to simplify your build configuration
  • Automatically configure Spring and 3rd party libraries whenever possible
  • Provide production-ready features such as metrics, health checks and externalized configuration
  • Absolutely no code generation and no requirement for XML configuration

What is the difference between Spring Boot and the Spring framework?

  • Spring is a light weight and open source framework created by Rod Johnson in 2003. Spring is a complete and a modular framework, i mean spring framework can be used for all layer implementations for a real time application or spring can be used for the development of particular layer of a real time application unlike struts [ only for front end related ] and hibernate [ only for database related ], but with spring we can develop all layers
  • Spring framework is said to be a non-invasive means it doesn’t force a programmer to extend or implement their class from any predefined class or interface given by Spring API, in struts we used to extend Action Class right that’s why struts is said to be invasive
  • In case of struts framework, it will forces the programmer that, the programmer class must extend from the base class provided by struts API
  • Spring is light weight framework because of its POJO model
  • Spring Framework made J2EE application development little easier, by introducing POJO model

Spring having this much of demand because of the following 3 reasons….

  • Simplicity
  • Testability
  • Loose Coupling

Spring boot:

first of all Spring Boot is not a framework, it is a way to ease to create stand-alone application with minimal or zero configurations. It is approach to develop spring based application with very less configuration. It provides defaults for code and annotation configuration to quick start new spring projects within no time. Spring Boot leverages existing spring projects as well as Third party projects to develop production ready applications. It provides a set of Starter Pom’s or gradle build files which one can use to add required dependencies and also facilitate auto configuration.

Spring Boot automatically configures required classes depending on the libraries on its classpath. Suppose your application want to interact with DB, if there are Spring Data libraries on class path then it automatically sets up connection to DB along with the Data Source class.

  • It is very easy to develop Spring Based applications with Java or Groovy.
  • Spring Boot reduces lots of development time and increases productivity.
  • It avoids writing lots of boilerplate Code, Annotations and XML Configuration.
  • It is very easy to integrate Spring Boot Application with its Spring Ecosystem like Spring JDBC, Spring ORM, Spring Data, Spring Security etc.
  • Spring Boot follows “Opinionated Defaults Configuration” Approach to reduce Developer effort
  • It provides Embedded HTTP servers like Tomcat, Jetty etc. to develop and test our web applications very easily.
  • It provides CLI (Command Line Interface) tool to develop and test Spring Boot (Java or Groovy) Applications from command prompt very easily and quickly.
  • Spring Boot provides lots of plugins to develop and test Spring Boot Applications very easily using Build Tools like Maven and Gradle
  • It provides lots of plugins to work with embedded and in-memory Databases very easily.

All the best!

Who this course is for:
  • You - if you want to develop Java RESTful web services using Spring boot
  • You - if you are a Java developer who want to scale up your skill list
  • You - if you are from Microsoft Web API background, and want to see it's Java equivalent

Hi. My name is Vinod

Hi, my name is Vinod, and I am a software trainer, consultant and freelance developer. I am the creator some of the highest rated courses on Udemy. In my professional career, I have trained hundreds of thousands of software engineers. Teaching is not only my profession, but also a passion. Creating online courses gives me the opportunity to reach and help students across the world.