[JAVA] Afficher un simple Hello World avec SpringBoot + IntelliJ

Aperçu

SpringBoot facilite la création d'applications Web utilisant Java.

Cette fois, je voudrais créer un programme qui affiche un simple Hello World en utilisant Spring Boot et IntelliJ.

De plus, les contenus créés cette fois sont publiés dans le référentiel suivant.

https://github.com/kymx1983/first_springboot

1. Environnement à utiliser

L'environnement utilisé cette fois est le suivant.

1.1 Java

La version Java n'est pas spécifiée. Java 11 est utilisé dans l'exemple d'exemple.

Java peut être téléchargé à partir de:

https://www.oracle.com/java/technologies/javase-downloads.html

Tout d'abord, cliquez sur la version de JDK Download que vous souhaitez installer.

Image from Gyazo

Après cela, téléchargez le fichier de téléchargement qui correspond à votre système d'exploitation à partir de Télécharger en bas.

Image from Gyazo

Une fois le téléchargement terminé, exécutez le fichier à installer. (J'omettrai la procédure d'installation, mais j'espère que vous pourrez l'installer selon la navigation)

1.2 Installation d'IntelliJ

Il existe différentes façons de télécharger IntelliJ, mais je pense qu'il est préférable de le télécharger à partir du site Samraisum suivant.

https://samuraism.com/jetbrains

IntelliJ est un outil payant. Il existe également une édition communautaire gratuite, mais nous vous recommandons d'utiliser la version payante car elle a plus de fonctionnalités pour Spring Boot.

Même si vous téléchargez la version payante, il y a une période gratuite de 30 jours, vous pouvez donc l'essayer en premier.

J'omettrai la méthode d'installation d'IntelliJ, mais j'espère que vous pourrez l'installer en fonction de la navigation.

2 Créer un projet

Suivez les étapes ci-dessous pour créer un nouveau projet. Correctement, le Spring Initializer mentionné dans cette procédure ne peut être utilisé qu'avec la version payante. Il existe une procédure de remplacement majeure, qui sera publiée à une date ultérieure.

Tout d'abord, lorsque vous démarrez IntelliJ, l'écran suivant "Bienvenue dans IntelliJ IDEA" s'affiche. Cliquez sur "Créer un nouveau projet".

Image from Gyazo

Sélectionnez Spring Initializr dans le menu de gauche. (Pour la version gratuite, Spring Initializr n'est pas affiché)

Choisissez le SDK du projet correspondant à la version de Java que vous avez installée.

Cliquez ensuite sur «Suivant».

Image from Gyazo

L'écran suivant est fondamentalement correct par défaut, mais la partie importante est complétée.

article La description
Moule Il existe deux types d'outils de construction Java, Maven et Gradle. Cette fois, nous utiliserons Maven, alors sélectionnez Maven Project.
Langue Spring Boot peut être créé non seulement en Java mais également en Kotlin et Groovy. Cette fois, je veux le créer en Java, alors sélectionnez Java.
Version Java Choisissez une version Java inférieure au JDK que vous utilisez.

Image from Gyazo

Nous parlerons des dépendances plus tard. Cette fois, sélectionnez Spring → Spring Web.

Image from Gyazo

Spécifiez le nom et l'emplacement du projet (destination d'enregistrement) de manière arbitraire.

Image from Gyazo

Une fois terminé, l'écran initial illustré ci-dessous s'affiche.

Screenshot from Gyazo

3. Créer du HTML pour l'affichage à l'écran

Lors de la création d'une application Web en Java, je pense qu'il existe de nombreux types qui imaginent JSP comme un écran, mais Spring Boot n'utilise pas JSP. (Il peut être utilisé dans les paramètres.)

Au lieu de cela, vous pouvez utiliser un moteur de modèle appelé thymeleaf pour afficher l'écran en fonction du contenu décrit dans le fichier html.

Par conséquent, vous devez ajouter thymeleaf à la dépendance maven. J'expliquerai les dépendances dans un autre article à une date ultérieure, mais à ce stade, je pense qu'il est normal de reconnaître que "l'API externe utilisée dans Spring est définie".

Plus précisément, ajoutez à la plage délimitée par la balise dans le fichier pom.xml.

Image from Gyazo

Les contenus à ajouter sont les suivants.


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

La quantité totale de pom.xml lorsqu'elle est réellement décrite est la suivante. (Cela dépend de l'environnement, il n'est donc pas toujours nécessaire de faire une correspondance exacte.)

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>11</java.version>
	</properties>

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

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

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

Ensuite, créez un fichier tel que index.html dans le dossier src / main / resources / templates. (Sélectionnez le dossier des modèles et cliquez avec le bouton droit de la souris sur → Nouveau ou Commande + N (Mac), Ctrl + N (Windows) pour en créer un nouveau.

Image from Gyazo

Après avoir décrit index.html, veuillez décrire le contenu comme suit.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>first Spring-boot</title>
</head>
<body>
    <h1>Hello World</h1>
    <p>OK si cela est affiché</p>
</body>
</html>

À ce stade, la création de index.html pour l'affichage est terminée.

4. Appelez le modèle depuis Java

Enfin, à partir de Java, appelez index.html créé précédemment et affichez-le.

Tout d'abord, créez un nouveau fichier Java dans src / main / java / com.example.demo. Le nom du fichier est arbitraire, mais ici il s'agit de «HelloController».

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {

  @RequestMapping("/")
  public ModelAndView index() {

    ModelAndView model = new ModelAndView();
    model.setViewName("index");
    return model;

  }
}

Je vais expliquer brièvement les points importants.


@Controller
public class HelloController {

En affectant @Controller, il peut être montré que la classe spécifiée est le Controller dans le modèle MVC.

 @RequestMapping("/")
  public ModelAndView index() {

Lorsque vous atteignez l'URL spécifiée dans RequestMapping, le contenu de la méthode spécifiée sera appelé. Puisqu'il est réglé sur / cette fois, c'est le cas lorsque rien n'est spécifié, c'est-à-dire l'écran supérieur.

ModelAndView model = new ModelAndView();
model.setViewName("index");

ModelndView définit les données et les paramètres utilisés dans le modèle (c'est-à-dire le fichier html). Cette fois, puisque "index" est spécifié comme setViewName, il est spécifié pour afficher simplement index.html.

Recherchez le fichier html avec le nom de fichier correspondant dans le dossier des modèles et exécutez-le.

5. Essayez de courir

Maintenant que vous l'avez créé, exécutons l'application Web.

Pour l'exécuter, cliquez avec le bouton droit sur l'application DemoApplication déjà créée dans src / main / java / com.example.demo → exécutez-la pour créer un fichier jar à utiliser dans Spring Boot, puis démarrez-la.

Au fait, le fichier jar utilisé par Springboot contient un serveur Web (tomcat etc.) par défaut, donc Il n'est pas nécessaire de démarrer un serveur Web distinct.

Image from Gyazo

Si les deux dernières lignes sont sorties comme suit, le démarrage est réussi.

Image from Gyazo

Démarrez le navigateur et exécutez l'URL de http: // localhost: 8080, et Hello World et la chaîne de caractères sous celle-ci seront affichés dans le navigateur comme indiqué ci-dessous.

Image from Gyazo

Résumé

Avec l'opération jusqu'à présent, ce qui suit est fait.

  1. Créez un projet Spring Boot
  2. Affichage du HTML en utilisant Thymeleaf comme moteur de modèle
  3. Du côté Java, appelez le fichier modèle spécifié (index.html) et affichez-le dans la cellule

Recommended Posts

Afficher un simple Hello World avec SpringBoot + IntelliJ
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ① ~ Hello World ~
Hello World avec SpringBoot / Gradle
(Intellij) Hello World avec Spring Boot
(IntelliJ + gradle) Hello World avec Spring Boot
Hello World avec Micronaut
Hello World avec Spring Boot
Bonjour tout le monde avec Spring Boot!
Bonjour tout le monde avec VS Code!
Hello World avec Spring Boot
Bonjour tout le monde! Avec Asakusa Framework!
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ③ ~ Ajouter une validation ~
Créez une application Web Hello World avec Spring Framework + Jetty
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ⑤ ~ Modèle commun ~
Jusqu'à "Hello World" avec Spring Boot
Bonjour tout le monde avec Kotlin et JavaFX
Hello World avec Docker et langage C
Hello World avec GlassFish 5.1 + Servlet + JSP
Créez un PDF avec itext7 ~ HelloWorld ~
"Hello world" pour ImageJ avec Eclipse
Hello World avec GWT 2.8.2 et Maven
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ④ ~ Personnaliser le message d'erreur ~
[Swift] Créez un projet avec Xcode (ver 12.1) et affichez "Hello, World!"
Essayez HelloWorld avec la configuration minimale de Heroku Java spring-boot
Créez une application Web simple avec Dropwizard
Créez un CRUD simple avec SpringBoot + JPA + Thymeleaf ② ~ Création d'écran et de fonctions ~
Hello World avec Eclipse + Spring Boot + Maven
Créez un lot à la demande simple avec Spring Batch
Bonjour tout le monde avec le moteur de modèle Java Thymeleaf
[Retrait des rails] Créez une fonction de retrait simple avec des rails
[Java] Connexion avec la base de données locale (IntelliJ + SpringBoot)
Essayez d'écrire "Hello, World" avec une combinaison de plusieurs langues et bibliothèques
Créer un graphique à barres simple avec MPAndroidChart
Développement Java avec Codenvy: Hello World! Run
"Hello, World!" Avec Kotlin + CLI en 5 minutes
Bonjour tout le monde avec Kotlin et Tornado FX
Désérialiser XML dans une collection avec spring-boot
Comment Spring Security fonctionne avec Hello World
Un mémorandum lors du démarrage d'un nouveau développement avec IntelliJ + Gradle + SpringBoot + JUnit5 (Jupiter)
Hello World, une application d'interface graphique multiplateforme avec Groovy fonctionnant sur la plate-forme Java
Sortie de Hello World dans la fonction principale simple de kotlin
Créez une application de recherche simple avec Spring Boot
Créez un tableau d'affichage simple avec Java + MySQL
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Hello World avec JavaFX 11 (OpenJFX) de Liberica JDK 11
[spring-boot] Complétez application.yml avec le plugin Spring Assistant d'IntelliJ
Bonjour tout le monde! Avec Spring Boot (Marven + éditeur de texte)
Hello World à une vitesse explosive avec Spring Initializr! !! !!
Exécutez JSP Hello World avec Tomcat sur Docker
[Java] Hello World avec Java 14 x Spring Boot 2.3 x JUnit 5 ~
Essayez d'afficher Hello World avec Spring + Gradle
Un simple jeu de ciseaux-papier-pierre avec JavaFX et SceneBuilder
Facile à afficher Hello World avec Rails + Docker
Java, bonjour le monde!
Java Hello World
Entraînez-vous à créer une application de chat simple avec Docker + Sinatra
Hello World (API REST) avec Apache Camel + Spring Boot 2
Implémentez une API Rest simple avec Spring Security avec Spring Boot 2.0
Créez un site de démonstration simple avec Spring Security avec Spring Boot 2.1