IntelliJ IDEA Plugin for Spring Boot: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Internal=
=Internal=
* [[IntelliJ#Subjects|IntelliJ]]
* [[IntelliJ#Subjects|IntelliJ]]
* [[Spring Boot]]
* [[Spring Boot]]
* [[Spring Initializr#Overview|Spring Initializr]]
* [[Spring Initializr#Overview|Spring Initializr]]
* [[Writing_a_REST_Service_with_Spring_Boot#Initialize_the_Project_with_Spring_Initializr|Writing a REST Service with Spring Boot]]


=Overview=
=Overview=


The Spring Boot IntelliJ IDEA plugin [[Spring Initializr#Overview|Spring Initializr]] API to generate [[Spring Boot]] projects.
The Spring Boot IntelliJ IDEA plugin uses [[Spring Initializr#Overview|Spring Initializr]] API to generate [[Spring Boot]] projects.


=Installation=
=Installation=


It should be installed by default, go to the plugin list and search for "Spring Boot".
In IntelliJ 2021.2.1, the Spring Boot plugin is bundled and installed by default. Go to the plugin list and search for "Spring Boot".


=Procedures=
=Procedures=


==Create a New Spring Boot Project with Spring Initializr==
==Create a New Spring Boot Project with Spring Initializr==
This procedure is used by {{Internal|Writing_a_REST_Service_with_Spring_Boot#Initialize_the_Project_with_Spring_Initializr|Writing a REST Service with Spring Boot}}


Splash screen -> Create New Project -> Spring Initializr (note to '''not''' chose "Spring", but "Spring Initializr")
Splash screen -> Create New Project -> Spring Initializr (note to '''not''' chose "Spring", but "Spring Initializr")
This procedure works even if the project was partially initialized before.
Name: The human-name for the project.
Location: Choose the root directory of the project. You can use a partially-initialized project, you'll get a warning (Directory is not empty).
Language: Java
Type: Gradle
Group: <code>playground.smoke</code>
Artifact: smoke
Package Name: Autogenerated based on group, including the artifact name, you may want to modify: <code>playground.smoke</code>


Project SDK
Project SDK


Choose Initializr Service URL -> Default https://start.spring.io -> Next
Java: 11
 
Packaging: Jar
 
Choose Initializr Service URL Default https://start.spring.io → Next
 
Spring Boot version.
 
Dependencies.
 
Different dependencies are required for different types of projects. See:
* [[Writing_a_REST_Service_with_Spring_Boot#Spring_Boot_Dependencies|Writing a REST Service with Spring Boot &#124; Spring Boot Dependencies]]
 
For more details on dependencies, see [[#Dependencies| Dependencies]] below.
 
Finish.
 
[[Image:IntelliJIDEAPluginForSpringBootResult.png]]
 
<span id='build.gradle'></span>Generated build.gradle: {{Internal|Spring Initializr build.gradle#Example|build.gradle}}
 
<span id='build.gradle'></span>Generated settings.gradle: {{Internal|Spring Initializr settings.gradle#Example|settings.gradle}}


Project Metadata
Also see: {{Internal|Spring_Initializr#Spring_Project_Structure|Spring Initializr Projecte Structure}}
* Group
* Artifact
* Type (Maven Project, Maven POM, Gradle Project, Gradle Config)
* Language
* Packaging
* Java Version
* Version
* Name
* Description
* Package (autogenerated based on group, including the artifact name, you may want to modify).


Dependencies


===Dependencies===
* Core
* Core
** [[Spring_Boot_Concepts#Developer_Tools|DevTools]]
** [[Spring_Boot_Concepts#Developer_Tools|DevTools]]
Line 44: Line 73:
** Session
** Session
** [[Spring_Boot_Concepts#Caching|Cache]]
** [[Spring_Boot_Concepts#Caching|Cache]]
** [[Spring_Framework_Concepts#Validation|Validation]]
** [[Spring_Validation_Concepts#Overview]]
** [[Spring_Framework_Concepts#Retry|Retry]]
** [[Spring_Framework#Retry|Retry]]
** [[Spring_Framework_Concepts#AOP|Aspects]]
** [[Spring_Framework#AOP|Aspects]]
* Web
* Web
** [[Spring_Framework_Concepts#Spring_Framework_Web_Servlet| Web]]
** [[Spring_MVC_Concepts#Overview|Web]]
** [[Spring_Framework_Concepts#Spring_Framework_Web_Reactive_Stack|Reactive Web]]
** [[SpringWebFluxReactive Web]]
** [[Spring_Data_Concepts#Spring_Data_REST|Rest Repositories]]
** [[Spring_Data_Concepts#Spring_Data_REST|Rest Repositories]]
** [[Spring_Data_Concepts#HAL_Browser|Rest Repositories HAL Browser]]
** [[Spring_Data_Concepts#HAL_Browser|Rest Repositories HAL Browser]]
Line 78: Line 107:
** Apache Derby
** Apache Derby
** Liquibase
** Liquibase
** [[Spring_Data_Concepts#Flyway_Support|Flyway]]
** [[Spring Flyway Support#Overview|Flyway]]
** JOOQ
** JOOQ
* NoSQL
* NoSQL
** [[Spring_Data_Concepts#Redis|Redis]]
** [[Spring_Data_Redis#Overview|Redis]]
** [[Spring_Data_Concepts#Reactive_Redis|Reactive Redis]]
** [[Spring_Data_Redis#Reactive_Redis|Reactive Redis]]
** [[Spring_Data_Concepts#MongoDB|MongoDB]]
** [[Spring_Data_Concepts#MongoDB|MongoDB]]
** [[Spring_Data_Concepts#Reactive_MongoDB|Reactive MongoDB]]
** [[Spring_Data_Concepts#Reactive_MongoDB|Reactive MongoDB]]
Line 116: Line 145:
** Consul Configuration
** Consul Configuration
* Cloud Discovery
* Cloud Discovery
** Eureka Discovery
** [[Spring_Cloud_Netflix|Eureka Discovery]]
** Eureka Server
** [[Spring_Cloud_Netflix|Eureka Server]]
** Zookeeper Discovery
** Zookeeper Discovery
** Cloud Foundry Discovery
** Cloud Foundry Discovery
Line 124: Line 153:
** Zuul
** Zuul
** Gateway
** Gateway
** Ribbon
** [[Spring Cloud Netflix|Ribbon]]
** Feign
** Feign
* Cloud Circuit Breaker
* Cloud Circuit Breaker
** Hystrix
** [[Spring Cloud Netflix|Hystrix]]
** Hystrix Dashboard
** [[Spring Cloud Netflix|Hystrix Dashboard]]
** Turbine
** Turbine
** Turbine Stream
** Turbine Stream
Line 157: Line 186:
** Statemachine
** Statemachine
* Ops
* Ops
** Actuator
** [[Spring Boot Actuator|Actuator]]
** Spring Boot Admin (Server)
** [[Spring_Boot_Admin|Spring Boot Admin (Server)]]
** Spring Boot Admin (Client)
** [[Spring_Boot_Admin|Spring Boot Admin (Client)]]

Latest revision as of 23:56, 6 February 2022

Internal

Overview

The Spring Boot IntelliJ IDEA plugin uses Spring Initializr API to generate Spring Boot projects.

Installation

In IntelliJ 2021.2.1, the Spring Boot plugin is bundled and installed by default. Go to the plugin list and search for "Spring Boot".

Procedures

Create a New Spring Boot Project with Spring Initializr

This procedure is used by

Writing a REST Service with Spring Boot

Splash screen -> Create New Project -> Spring Initializr (note to not chose "Spring", but "Spring Initializr")

This procedure works even if the project was partially initialized before.

Name: The human-name for the project.

Location: Choose the root directory of the project. You can use a partially-initialized project, you'll get a warning (Directory is not empty).

Language: Java

Type: Gradle

Group: playground.smoke

Artifact: smoke

Package Name: Autogenerated based on group, including the artifact name, you may want to modify: playground.smoke

Project SDK

Java: 11

Packaging: Jar

Choose Initializr Service URL → Default https://start.spring.io → Next

Spring Boot version.

Dependencies.

Different dependencies are required for different types of projects. See:

For more details on dependencies, see Dependencies below.

Finish.

IntelliJIDEAPluginForSpringBootResult.png

Generated build.gradle:

build.gradle

Generated settings.gradle:

settings.gradle

Also see:

Spring Initializr Projecte Structure


Dependencies