[JAVA] Spring Boot à partir de zéro Partie 1

Cible

Il sera mis en œuvre plusieurs fois.

  1. Sachez à peu près ce qu'est Spring Boot ← Je vais le faire cette fois </ font>
  2. Construisez l'environnement et affichez Hello World! ← Je vais le faire cette fois </ font>
  3. Passer des paramètres et des objets
  4. Essayez d'autres fonctionnalités

Références

Qu'est-ce que Spring Boot?

Cela facilite l'écriture de spring, qui est une sorte de framework Java. En utilisant une annotation (une méthode de description avec @, telle que @ Override), il n'est plus nécessaire de décrire un fichier de paramètres XML compliqué, et il est très facile de l'attacher.

Environnement

Nous utilisons un environnement de développement appelé STS (Spring Tool Suite4). Basé sur Eclipse, qui est célèbre comme environnement de développement Java, il dispose de fonctions pour rendre le développement dans Spring plus pratique.

    1. Téléchargez et exécutez STS sur le site suivant. (Décompressez pour zip)

STS (Spring Tool Suite) SpringBoot_2.png C'est OK si un dossier nommé sts-4.X.X.RELEASE est créé.

  1. Téléchargez le correctif japonais STS à partir du site suivant. (Parce que la valeur par défaut est l'anglais) ・ Plug-in de localisation japonais Pleiades
  • Il ne s'agit pas de "Pleia des All in One Download" en haut de la page, mais d'un en dessous. SpringBoot_4.png
    1. Exécutez le fichier d'installation dans le fichier téléchargé pleiades-win. SpringBoot_5.png L'écran suivant va démarrer: Spécifiez SpringToolSuite4.exe dans le dossier sts-4.X.X.RELEASE de" Application to Japaneseize "et cliquez sur" Japaneseize ". Démarrez STS, et si c'est en japonais, vous avez terminé!

Création de projet

Après avoir démarré STS, sélectionnez [Fichier] - [Nouveau] - [Projet Spring Starter]. Cliquez sur [Suivant] sans aucune opération sur cet écran.

  • Vous pouvez sélectionner Maven ou Gradle dans [Type], mais sur cette page, Maven sera utilisé. Dans [Nouvelles dépendances du projet Spring Starter]
  • [Outils de développement] - [Spring Boot DevTools]
  • [Moteur de modèle] - [Thymeleaf] ・ [Web] - [Spring Web] Vérifiez les trois éléments et cliquez sur [Suivant]. Les dépendances seront expliquées plus tard. </ font> Cliquez sur [Terminer] sans aucune opération sur cet écran. Une fois que vous avez un projet comme celui ci-dessous, vous avez terminé!

À propos des dépendances

J'ai vérifié Spring Boot DevTools, Thymeleaf et Spring Web plus tôt, et le code suivant est automatiquement écrit dans pom.xml.

pom.xml


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

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

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
	<scope>runtime</scope>
	<optional>true</optional>
</dependency>
Nom Explication
Thymeleaf Moteur de modèle Java pour les pages Web. Spring recommande Thymeleaf au lieu de jsp. Écrivez comme l'expression jstl ou EL.
Spring Web Une bibliothèque requise pour les applications Web Spring Boot.
Spring Boot DevTools Si vous mettez à jour le fichier java, vous pourrez utiliser des fonctions pratiques telles que le redémarrage automatique de l'application.

Par conséquent, lorsque vous utilisez la fonction Spirng Boot, vous devez soit vérifier les dépendances lors de la création d'un projet, soit les décrire manuellement dans pom.xml.

En gros, mais aussi compléter pom.xml.

Nom Explication
Maven Outil de gestion de projet Java. pom.Facilitez la création et le déploiement de votre application en vous référant à xml.
pom.xml pom est une abréviation de Project Object Model. Décrivez le groupe de bibliothèques et les informations de version requis pour le projet.

Bonjour tout le monde! (RestController)

Lorsque vous créez un projet, un fichier java sera automatiquement généré sous src / main / java / com / example / demo. Cette classe est reconnue comme la classe de démarrage de l'application SpringBoot par l'annotation @ SpringBootApplication. Il n'est pas nécessaire d'ajouter du code manuellement.

Création de classe RestController

Créez maintenant une classe dans le même dossier. Cliquez-droit sur l'icône com.example.demo et sélectionnez [Nouveau] - [Classe]. Entrez DemoRestController dans [Nom] et cliquez sur [Terminer]. Ajoutez le code suivant à la classe créée. (Pour ceux qui n'ont jamais utilisé Eclipse ... Ctrl + S peut enregistrer le fichier, Ctrl + Shift + O peut importer automatiquement!)

DemoRestController.java


package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoRestController {

	@RequestMapping(value="/rest",method=RequestMethod.GET)
	public String hello() {
		return "Hello World!";
	}
}

@RestController Décrit dans la classe. C'est une classe de contrôleur pour afficher la valeur de retour de la méthode sur la page telle quelle sans passer à View (fichier HTML, etc.).

Qu'est-ce qu'un contrôleur? (Plié pour dérailler un peu) Spring et Spring Boot ont le concept de «modèle MVC», qui est
`Modèle` ・ ・ ・ Responsable du traitement de la logique telle que la recherche et le calcul. `View` ・ ・ ・ Affiche le résultat du traitement du modèle côté client. `Contrôleur` ・ ・ ・ Transmettez les informations reçues de la vue au modèle. (Et vice versa)
Cela vient de l'acronyme du programme qui a le rôle de.
`@RequestMapping` Décrit dans la méthode. Il s'agit d'une fonction de mappage des requêtes des clients et des méthodes. Les arguments sont spécifiés, mais les deux suivants sont typiques. `value =" / URL "` ・ ・ ・ Reçoit la demande de l'URL spécifiée. `method = RequestMethod.GET (ou POST)` ・ ・ ・ Reçoit une demande de la méthode de transmission spécifiée.

par ça, Accédez à http: // localhost: 8080 / rest ↓ L'URL sera / rest et la méthode de transmission sera GET (lorsque vous entrez l'URL et affichez la page, ce sera automatiquement la méthode GET. Pourquoi? [Cette question en teratail](https: //) teratail.com/questions/103203) est facile à comprendre.) ↓ La méthode hello qui correspond à ces informations est appelée ↓ La valeur de retour «" Hello World! "» Est sortie sur la page. Le flux est terminé.


De plus, @ RequestMapping a une annotation avec une méthode de transmission comme indiqué ci-dessous. J'utiliserai ceci la prochaine fois car il peut être écrit de manière concise. @GetMapping("/URL") Identique à @RequestMapping (value =" / URL ", method = RequestMethod.GET). @PostMapping("/URL") Identique à @RequestMapping (value =" / URL ", method = RequestMethod.POST).


Maintenant, exécutons l'application Spring. Tout d'abord, cliquez sur [Window] - [View View] - [Console] pour afficher la console. Cliquez avec le bouton droit sur le projet et cliquez sur Application de démarrage Run-Spring. Après avoir confirmé que Spring Boot a démarré sur la console, ... Accédez à http: // localhost: 8080 / rest dans votre navigateur. Hello World! S'affiche!

Hello World! (Contrôleur)

Dans l'édition RestController, Hello World était affiché comme valeur de retour de la méthode, donc affichons-la sous forme de fichier HTML cette fois.

Création de fichier HTML

Faites un clic droit sur src / main / resources / templates et sélectionnez [Nouveau] - [Autre]. Sélectionnez [web] - [fichier HTML] et cliquez sur [Suivant].

  • Si vous entrez html dans [Assistant], il apparaîtra immédiatement comme indiqué dans l'image ci-dessous. Entrez «index» dans [Nom du fichier] et cliquez sur [Suivant]. Sélectionnez [Modèle] - [Nouveau fichier HTML (5)](je pense qu'il est sélectionné par défaut) et cliquez sur [Terminer]. Ajoutez «Hello World!» À la partie «».

index.html


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello World!
</body>
</html>

Création de classe de contrôleur

Ensuite, créez une classe DemoController sur src / main / java / com / example / demo et ajoutez le code suivant. (La méthode de création est la même que [Create RestController class](Create #RestController class))

DemoController.java


package com.example.demo;

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

@Controller
public class DemoController {
	
	@RequestMapping(value="/",method=RequestMethod.GET)
	public ModelAndView hello() {
		ModelAndView mav=new ModelAndView();
		mav.setViewName("/index");
		return mav;
	}
}

@Controller Décrit dans la classe. Contrairement à @ RestController, c'est une classe de contrôleur qui peut passer à View. Si vous souhaitez définir une méthode pour afficher la valeur de retour sur la page sans passer à View dans la classe spécifiée, vous pouvez écrire @ ResponseBody dans la méthode comme indiqué ci-dessous.

@Exemple de description du corps de réponse


@RequestMapping(value="/body",method=RequestMethod.GET)
@ResponseBody
public String body() {
	return "Hello World?";
}

ModelAndView Cette classe a à la fois les fonctions Model (gestion des objets) et View (informations sur la page Web). Il existe ces classes uniques, mais celle que nous utilisons essentiellement est ModelAndView. Les principales méthodes sont les suivantes.

Méthode Comment utiliser
setViewName("/Chemin du fichier") Spécifiez le chemin du fichier HTML à afficher. Le chemin d'accès au dossier des modèles n'a pas besoin d'être décrit.
addObject("Le nom du paramètre",Paramètres) Webページに渡すParamètresを[Nom,valeur]Stocker comme un ensemble de. (Je vais l'utiliser la prochaine fois

Maintenant, accédons à http: // localhost: 8080. Hello World! S'affiche! Puisqu'il s'agit de HTML, "Insérer le titre ici (titre par défaut)" s'affiche dans le titre de la page.

la revue

--SpringBoot rend Spring plus facile à utiliser

  • Développement facile avec Spring Tool Suite --Lier URL et méthode avec @ RequestMapping --Afficher la valeur de retour de la méthode sur la page avec @ RestController --Afficher le fichier HTML sur la page avec @ Controller

C'est tout pour cette fois. Je vous remercie pour votre travail acharné. A partir de la prochaine fois, nous commencerons à passer des paramètres!

Recommended Posts