Understanding  - Spring Initializr

The Spring Initializr is ultimately a web application that generates a Spring Boot project structure for you.

It can be used from different interfaces.

  1. From Web-based interface (https://start.spring.io or https://start-scs.cfapps.io)
  2. From supported IDEs STS, Eclipse, Netbeans, Intellij Idea. In the case of Eclipse, you need to install a plugin 'STS'.
  3. From CLI (Command Line Interface)


Web-Based UI (the same interface is opened in supported IDEs )


Project: Maven or Gradle 

        This is the selection of the project built tool or Dependency Manager that is used to manage all the dependencies added in the projects and to compile and pack the project in selected packaging ( jar or war ).

If you want to know more about the selection of built tool and comparison between Maven and Gradle click the below link.

Language: This section will is used to select the language in which you are comfortable to write the application logic. I prefer Java.
Spring Boot: Version selection of spring boot release.

Project Metadata:

  • Group: It is generally the reverse order of domain.
  • Artifact: Name that helps to describe the function, architecture, and design of software
  • Name: It is the same as Artifact.
  • Description: In the description field, we can write a description of the project.
  • Package Name: It is also similar to the Group name. Generally, it is combined with group and artifact, for better understanding.
  • Packaging: We can select the packing of the project. We can choose either Jar or War.
  • Java: We can select the JVM version which we want to use. We will use Java 8 version throughout the tutorial.

Dependencies: Here we can add required dependencies. The basics of them are described below:

  • Spring Web

           Build a web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container.

  • Spring Security

          Highly customizable authentication and access-control framework for Spring applications.

  • Spring Data JPA

          Persist data in SQL stores with Java Persistence API using Spring Data and Hibernate.

  • MySQL Driver

         MySQL JDBC and R2DBC driver.


On clicking the Generate button, this will generate a compressed zip project and starts downloading the zip. If you are using it through IDE it will download and import automatically and if you are using the web interface then you need to import the downloaded zip as a project into your favorite IDE.