The Spring Initializr is ultimately a web application that generates a Spring Boot project structure for you.
It can be used from different interfaces.
- From Web-based interface (https://start.spring.io or https://start-scs.cfapps.io)
- From supported IDEs STS, Eclipse, Netbeans, Intellij Idea. In the case of Eclipse, you need to install a plugin 'STS'.
- 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.
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.