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.
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
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
Lancez IntelliJ IDEA et sélectionnez "Nouveau projet".
Sélectionnez Maven, spécifiez OpenJDK installé dans le SDK du projet, puis sélectionnez Suivant.
Entrez un nom pour votre projet et sélectionnez Terminer.
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.
Créez src / main / java / Example.java
.
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);
}
}
Lançons le programme créé. Appuyez sur le bouton d'exécution affiché à gauche de la classe principale pour exécuter le programme.
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é.
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».
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