top of page
  • Writer's picturePradeep P

Intro to SPRING BOOT – Part 1

Introduction

I recently shifted into a team that uses Spring Boot and hence am learning the same. This blog series represents some notes I took along the way.

Spring Boot helps us enable building production ready applications in a short time and provides us some non-functional features like embedded servers, metrics, health checks, etc.

Tools used:

STS 4 (Spring Tool Suite 4) -> https://spring.io/tools

What we will do in this tutorial:

In this part of the blog series, we will setup a simple Spring project and create a REST service that returns a static list of movies and their release dates.

Setting up a basic Spring project

Spring Initializr (https://start.spring.io/) is a site that can quickly help setup a Spring project, capture the required dependencies and package the entire thing into a Maven / Gradle project. This can act as the start up project.

Add the details in the appropriate fields, add “Web” from the dependencies section and click on Generate to generate a zip file.

Graphical user interface, text, application

Description automatically generated

Unzip this and import the same from the STS:

Graphical user interface, text, application

Description automatically generated
Graphical user interface, text, application, email

Description automatically generated
Graphical user interface, application

Description automatically generated

Now, open the main java file and “Run as” a Java application.

Graphical user interface, application

Description automatically generated

You should see some console logs indicating that the application is running on some specific port:

Text

Description automatically generated with medium confidence

I have uploaded the code to this path:

Setting up a simple REST controller

Now that we have a simple Spring project up and running, let us add a REST controller to it so that it can serve us on a specific path.

Let us create a simple movie info database (a simplified IMDB :P)

First, let us create a class that captures the movie info:

Graphical user interface, text, application

Description automatically generated
Table

Description automatically generated with medium confidence
Text

Description automatically generated with medium confidence

Next step, let us define a REST controller:

Let us define a class called MoviesController and annotate this with an “@RestController”

Graphical user interface, application

Description automatically generated

This has defined a base REST controller but we need to add some methods to perform some actions. So let us add a simple “Get” method that returns a list of movies.

Graphical user interface, text, application

Description automatically generated

The @GetMapping indicates that the path /Movies should invoke the “getAllMovies” method. This method shall in turn return a static list of some movies and their release years.

Let us run this application now. Run the “MoviesController” as a Java Application. This starts the movies server application. Now, to see if it is running properly, type in http://localhost:8080/Movies into your browser and run it. This shall return the above list:

As you can see, we are also getting the list in the form of a JSON.

Thus, we have created a simple REST controller and added the ability to return a list of movies.

Two important annotations we added here:

@RestController – When added to a class, indicates that this class acts as a REST controller

@GetMapping – Defines which method is to be invoked when a specific route / path is requested using a GET call

20 views

Recent Posts

See All

Comments


bottom of page