Open In App

Spring Initializr

Spring Initializr is a Web-based tool that provides simple web UI to generate the Spring Boot project structure or we can say it builds the skeleton of the Spring-based application. The spelling mistake in initializr is inspired by initialize. It provides extensible APIs for creating JVM(Java Virtual Machine) based projects. Spring Initializr is straightforward for the developers to select the necessary configuration for their projects which helps you to customize and configure the project requirement and automatically manage the Spring Boot Dependencies using the Maven repository or Gradle. Modern IDEs have integrated Spring Initializr which provides the initial project structure. The Spring Initializr tool takes care of the following configuration for any Spring-based project

Requirement Specification

With all the provided information, the Spring Initializr generates the Spring project structure. We can use the Spring Initializr either from the Web or IDE or Command-Line.



Spring Initializr Web

Let us learn how to use the Spring Initializr web UI to generate the Spring Boot project for which the prior step is navigating to start.spring.io to get it. The window that will pop up is depicted below which is as follows:



The Spring Initializr UI has the following options,

Information in the metadata does include below key points:

Project Structure – The Spring Boot project looks as follows:

Methods

Spring Initializr can be achieved via two ways which are as follows:

  1. Using IDE
  2. Using Command line

Method 1: Spring Initializr using IDE’s

Spring Initializr is supported by various IDEs like Spring Tool Suite(STS), IntelliJ IDEA Ultimate and IntelliJ IDEA Community Edition(Limited Configuration options), Netbeans, and VSCode.

If you are using Netbeans, Spring Initializr plugin can be added to the IDE.

If you are using VSCode, vscode-spring-initializr plugin can be added to the VSCode.

IntelliJ Community Edition Usage:

Steps to be followed:

  1. Open IntelliJ CE IDE.
  2. Click on New Project.
  3. Select Maven Project and Java JDK Home path
  4. Enter Project Metadata details
  5. Click the Finish button.

Let us pictorially depict the above steps to get a fairer understanding

Note: If you are using IntelliJ Ultimate Edition, the steps are available here.

Method 2: Spring Initializr using Command Line

A lot of developers love to do things from the command line. For them, there is an option to create the Spring project using command-line utilities like Spring Boot CLI (Command Line Interface), cURL or HTTPie. To use cURL or HTTPie, one has to install them prior to the usage.

curl https://start.spring.io

The above command will give the entire instructions on how to create a project using cURL.

Let’s assume that you want to generate a demo.zip project based on Spring Boot 1.5.2.RELEASE, using the web and developer tools dependencies (remember, those two IDs are displayed in the capabilities of the service):

$ curl https://start.spring.io/starter.zip -d dependencies=web,devtools \
-d bootVersion=1.5.2.RELEASE -o demo.zip.zip

The exact same project can be generated using the HTTP command as well:

$ http https://start.spring.io/starter.zip -d dependencies==web,devtools \
-d bootVersion==1.5.1.RELEASE -o demo.zip

Note: Apart from all these, Spring Initializr teams also provide extensible APIs for creating JVM-based projects. Also, one can create their own instance of Spring Initializr for their own projects. It also provides various options for the project that are expressed in a metadata model. The metadata model allows us to configure the list of dependencies supported by JVM and platform versions, etc.


Article Tags :