[JAVA] Créez une application Spring Boot à l'aide d'IntelliJ IDEA

Il s'agit de la procédure pour créer et exécuter une application Spring Boot à l'aide d'IntelliJ IDEA. Confirmez que l'exécution peut être exécutée en déboguant avec IntelliJ IDEA et en créant un fichier JAR.

Environnement de développement

Préparation préalable

Préparez les éléments suivants pour le développement de Spring Boot.

--Téléchargez et installez OpenJDK https://openjdk.java.net/ --Téléchargez et installez Maven https://maven.apache.org/download.cgi --Téléchargez et installez IntelliJ IDEA https://www.jetbrains.com/ja-jp/idea/ --Vérifiez le chemin - java -version - mvn -v

Développement Spring Boot avec IntelliJ IDEA

Créez un projet en fonction du contenu de la mise en route de Spring Boot.

https://spring.pleiades.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-first-application

Suivez les étapes ci-dessous.

--Création d'un nouveau projet --Créer pom.xml

Créer un nouveau projet

Lancez IntelliJ IDEA et sélectionnez "Nouveau projet".

intelliJ_home.png

Sélectionnez Maven, spécifiez OpenJDK installé dans le SDK du projet, puis sélectionnez Suivant.

intelliJ_new_project_1.png

Entrez un nom pour votre projet et sélectionnez Terminer.

intelliJ_new_project_2.png

Modifier pom.xml

Décrivez le contenu suivant dans pom.xml.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.example</groupId>
	<artifactId>spring-boot-demo-app</artifactId>
	<version>1.0-SNAPSHOT</version>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.2.RELEASE</version>
	</parent>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>2.3.2.RELEASE</version>
			</plugin>
		</plugins>
	</build>
</project>

Après avoir modifié pom.xml, rechargez le projet.

intelliJ_reload_module.png

Bonjour tout le monde! Création d'une application

Créez src / main / java / Example.java.

intelliJ_new_file.png

Décrivez le contenu suivant dans Example.java.

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}

	public static void main(String[] args) {
		SpringApplication.run(Example.class, args);
	}

}

Exécutez des programmes à l'aide d'IntelliJ IDEA

Lançons le programme créé. Appuyez sur le bouton d'exécution affiché à gauche de la classe principale pour exécuter le programme.

intelliJ_run.png

En cas de succès, vous verrez le message suivant sur la console:

/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=52512:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/masayuki/Documents/program/spring-boot-demo-app/target/classes:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.3.2.RELEASE/spring-boot-starter-web-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-starter/2.3.2.RELEASE/spring-boot-starter-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot/2.3.2.RELEASE/spring-boot-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.3.2.RELEASE/spring-boot-autoconfigure-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.3.2.RELEASE/spring-boot-starter-logging-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/masayuki/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/masayuki/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/Users/masayuki/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.13.3/log4j-to-slf4j-2.13.3.jar:/Users/masayuki/.m2/repository/org/apache/logging/log4j/log4j-api/2.13.3/log4j-api-2.13.3.jar:/Users/masayuki/.m2/repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30.jar:/Users/masayuki/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/masayuki/.m2/repository/org/springframework/spring-core/5.2.8.RELEASE/spring-core-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-jcl/5.2.8.RELEASE/spring-jcl-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/yaml/snakeyaml/1.26/snakeyaml-1.26.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.3.2.RELEASE/spring-boot-starter-json-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.11.1/jackson-databind-2.11.1.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.11.1/jackson-annotations-2.11.1.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.11.1/jackson-core-2.11.1.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.11.1/jackson-datatype-jdk8-2.11.1.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.11.1/jackson-datatype-jsr310-2.11.1.jar:/Users/masayuki/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.11.1/jackson-module-parameter-names-2.11.1.jar:/Users/masayuki/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.3.2.RELEASE/spring-boot-starter-tomcat-2.3.2.RELEASE.jar:/Users/masayuki/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.37/tomcat-embed-core-9.0.37.jar:/Users/masayuki/.m2/repository/org/glassfish/jakarta.el/3.0.3/jakarta.el-3.0.3.jar:/Users/masayuki/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.37/tomcat-embed-websocket-9.0.37.jar:/Users/masayuki/.m2/repository/org/springframework/spring-web/5.2.8.RELEASE/spring-web-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-beans/5.2.8.RELEASE/spring-beans-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-webmvc/5.2.8.RELEASE/spring-webmvc-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-aop/5.2.8.RELEASE/spring-aop-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE.jar:/Users/masayuki/.m2/repository/org/springframework/spring-expression/5.2.8.RELEASE/spring-expression-5.2.8.RELEASE.jar Example

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.2.RELEASE)

2020-08-02 14:26:02.276  INFO 35892 --- [           main] Example                                  : Starting Example on maa with PID 35892 (/Users/masayuki/Documents/program/spring-boot-demo-app/target/classes started by masayuki in /Users/masayuki/Documents/program/spring-boot-demo-app)
2020-08-02 14:26:02.280  INFO 35892 --- [           main] Example                                  : No active profile set, falling back to default profiles: default
2020-08-02 14:26:04.567  INFO 35892 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-08-02 14:26:04.624  INFO 35892 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-08-02 14:26:04.625  INFO 35892 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-08-02 14:26:04.847  INFO 35892 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-08-02 14:26:04.848  INFO 35892 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2435 ms
2020-08-02 14:26:05.231  INFO 35892 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-02 14:26:05.676  INFO 35892 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-08-02 14:26:05.703  INFO 35892 --- [           main] Example                                  : Started Example in 4.953 seconds (JVM running for 6.18)

Si vous accédez à http: // localhost: 8080 avec un navigateur dans cet état, Hello World! Sera affiché.

Construire dans un fichier jar et exécuter

Dans l'arborescence qui apparaît lorsque vous cliquez sur «Maven» sur la droite, cliquez avec le bouton droit sur «Nom du projet»> «Cycle de vie»> «package» et sélectionnez «Exécuter Maven Build».

intelliJ_build.png

Si la construction réussit, le message suivant sera affiché sur la console.

/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/bin/java -Dmaven.multiModuleProjectDirectory=/Users/masayuki/Documents/program/spring-boot-demo-app "-Dmaven.home=/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3" "-Dclassworlds.conf=/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/bin/m2.conf" "-Dmaven.ext.class.path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven-event-listener.jar" "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=52530:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds.license:/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds-2.6.0.jar" org.codehaus.classworlds.Launcher -Didea.version=2020.2 package
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.example:spring-boot-demo-app >------------------
[INFO] Building spring-boot-demo-app 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ spring-boot-demo-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ spring-boot-demo-app ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /Users/masayuki/Documents/program/spring-boot-demo-app/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ spring-boot-demo-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/masayuki/Documents/program/spring-boot-demo-app/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ spring-boot-demo-app ---
[INFO] Changes detected - recompiling the module!
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ spring-boot-demo-app ---
[INFO] 
[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ spring-boot-demo-app ---
[INFO] Building jar: /Users/masayuki/Documents/program/spring-boot-demo-app/target/spring-boot-demo-app-1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.3.2.RELEASE:repackage (repackage) @ spring-boot-demo-app ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.498 s
[INFO] Finished at: 2020-08-02T14:27:21+09:00
[INFO] ------------------------------------------------------------------------

Le message sur la console lors de la construction montre que [dossier racine du projet] / cible / [nom du projet] -1.0-SNAPSHOT.jar a été créé, recherchez donc le fichier JAR etjava -jar [créé. Commencez par le fichier jar]. En cas de succès, vous verrez le message suivant sur la console:

$ java -jar target/spring-boot-demo-app-1.0-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.2.RELEASE)

2020-08-02 14:27:49.758  INFO 35907 --- [           main] Example                                  : Starting Example on maa with PID 35907 (/Users/masayuki/Documents/program/spring-boot-demo-app/target/spring-boot-demo-app-1.0-SNAPSHOT.jar started by masayuki in /Users/masayuki/Documents/program/spring-boot-demo-app)
2020-08-02 14:27:49.765  INFO 35907 --- [           main] Example                                  : No active profile set, falling back to default profiles: default
2020-08-02 14:27:52.252  INFO 35907 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-08-02 14:27:52.306  INFO 35907 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-08-02 14:27:52.306  INFO 35907 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-08-02 14:27:52.528  INFO 35907 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-08-02 14:27:52.528  INFO 35907 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2622 ms
2020-08-02 14:27:53.043  INFO 35907 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-02 14:27:53.586  INFO 35907 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-08-02 14:27:53.613  INFO 35907 --- [           main] Example                                  : Started Example in 5.628 seconds (JVM running for 6.985)

Si vous accédez à http: // localhost: 8080 avec un navigateur dans cet état, Hello World! Sera affiché.

Jusqu'à présent, nous avons confirmé l'exécution et la construction de l'application Spring Boot à l'aide d'IntelliJ IDEA.

Recommended Posts

Créez une application Spring Boot à l'aide d'IntelliJ IDEA
Comment créer un projet Spring Boot dans IntelliJ
Créer un projet Java Spring Boot avec IntelliJ
Créez une application de recherche simple avec Spring Boot
Un débutant Java a essayé de créer une application Web simple à l'aide de Spring Boot
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Spring Boot App Edition]
Disponibilité de l'application Spring Boot 2.3
Déployer l'application Spring Boot sur Elastic Beanstalk
Créer un serveur API Web avec Spring Boot
Étapes pour créer une application chameau simple avec les démarreurs Apache Camel Spring Boot
Créer un environnement de développement Spring Boot avec docker
Essayez d'utiliser OpenID Connect avec Keycloak (application Spring Boot)
[Compatible JUnit 5] Ecrire un test en utilisant JUnit 5 avec Spring boot 2.2, 2.3
[Spring Boot] Comment créer un projet (pour les débutants)
[Introduction à Spring Boot] Soumettez un formulaire à l'aide de thymeleaf
Créez un site de démonstration simple avec Spring Security avec Spring Boot 2.1
[Spring Boot] Création d'applications Web
Créer une loterie avec Ruby
Application Java CICS-Run - (4) Application Spring Boot
Essayez d'utiliser IntelliJ IDEA car vous ne devez le faire qu'une seule fois
Essayez d'utiliser Spring Boot Security
Créer un micro service avec Spring Boot
Jusqu'à ce que vous créiez un projet Spring Boot dans Intellij et que vous le transmettiez à Github
Créez un environnement de développement «Spring Thorough Introduction» avec IntelliJ IDEA
J'ai créé un système d'exemple MVC simple à l'aide de Spring Boot
[Android] Créer un calendrier à l'aide de GridView
Développement d'applications Spring Boot dans Eclipse
Points de révision du code de l'application Spring Boot
Créer un projet Jetty à l'aide d'Eclipse
Préparation à la création de l'application Rails
Créer un projet Tomcat à l'aide d'Eclipse
Créez une application avec Spring Boot 2
Tutoriel Spring Boot à l'aide de l'authentification Spring Security
Créer une application d'enquête avec Spring Boot
Créer un projet Java à l'aide d'Eclipse
(Intellij) Hello World avec Spring Boot
Créez une application avec Spring Boot
Créer une fonction de filtrage en utilisant actes-as-taggable-on
Implémenter l'application Spring Boot dans Gradle
Un mémo qui a touché Spring Boot
Créons une application Web de gestion de livres avec Spring Boot part1
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
Créons une application Web de gestion de livres avec Spring Boot part3
Créons une application Web de gestion de livres avec Spring Boot part2
Intégré dans Spring Boot à l'aide d'un fichier de définition de bean nommé application.xml
Créez rapidement un environnement Web à l'aide de Docker
Traitement lors du démarrage d'une application avec Spring Boot
Création d'un environnement de développement Spring Boot dans Vagrant
Qu'est-ce qu'un fichier .original Spring Boot?
Créez un projet de développement d'application Spring Boot avec la commande cURL + tar
Création d'un projet (et d'un référentiel GitHub) à l'aide de Java et Gradle avec IntelliJ IDEA
Créez une application Web simple avec Dropwizard
Lancer un (ancien) projet Spring Boot avec IntelliJ
Essayez d'utiliser Spring Boot avec VS Code
Démarrez le développement d'applications Web avec Spring Boot
Lancez l'application Nginx + Spring Boot avec docker-compose
Créer un service d'API RESTful à l'aide de Grape
J'ai créé un plug-in pour IntelliJ IDEA
Traitement asynchrone avec Spring Boot en utilisant @Async
(IntelliJ + gradle) Hello World avec Spring Boot