[JAVA] Créons une application Web de gestion de livres avec Spring Boot part1

introduction

Salut, je m'appelle @ Ikuto19, un étudiant en programmation. Cette fois, après avoir étudié, je vais créer une simple application Web de gestion de livres en utilisant Spring Boot de Java. J'avais l'habitude de l'écrire en Python au lieu de Java, mais personnellement, je ne le comprenais pas, alors j'ai décidé de le recréer. Les points qui ne sont pas convaincants sont les suivants.

Je pense que Ruby, Java et PHP sont souvent utilisés comme langages de programmation côté serveur. Il semble que la plupart de ces trois sont utilisés même si vous les recherchez sur le net. (Recherche personnelle)

Python n'est pas un côté serveur, mais un langage de programmation qui est bon dans des domaines tels que l'IA, l'apprentissage en profondeur et la science des données. Cependant, même si je l'utilise comme langage côté serveur pour les applications Web, je pensais que ce ne serait pas utile si je ne l'utilisais pas beaucoup, j'ai donc eu l'idée de le recréer en Java cette fois. Puis-je publier ma propre application gratuitement? À la suite de l'enquête, j'ai appris qu'il existe un service appelé Heroku, ce qui en est une des raisons.

Si les informations fournies sont incorrectes ou manquent d'explication, vous pouvez le signaler sans vous en soucier. Cet article est destiné à ma propre étude et à ceux qui trébuchent comme moi. Alors merci.

Conditions préalables

À propos de chaque outil et projet

À propos de Spring Framework

Site officiel → https://spring.io/ Spring Framework est un framework pour développer le développement Java rapidement et en toute sécurité, et il semble que vous puissiez le lire en tant que Spring. Ce Spring comprend "DI: Dependency Injection" et "AOP: Aspect Oriented Programming".

À propos de maven

Site officiel → https://maven.apache.org/ maven est l'un des nombreux outils de construction. Il existe d'autres Gradle et Ant, mais cette fois j'ai choisi maven car je déploierai l'application terminée sur Heroku. En décrivant la dépendance dans pom.xml, vous pouvez gérer divers packages.

À propos d'openBD

Site officiel → https://openbd.jp/ Cet openBD est une API gratuite à laquelle tout le monde peut accéder aux informations bibliographiques et aux couvertures. Cette fois, nous accèderons aux informations du livre en utilisant cette API avec jQuery de javascript.

À propos d'Heroku

Site officiel → https://jp.heroku.com/about Un service PaaS basé sur le cloud basé sur des conteneurs qui vous permet de choisir parmi un grand nombre de langages de programmation et de déployer et gérer vos propres applications.

Introduction d'outils

Installer le projet Spring sur l'éclipse installée

  1. Après avoir démarré eclipse, installez Spring Tools 4 (alias Spring Tool Suite 4) 4.7.0.RELEASE depuis Help> eclipse Marketplace.
  2. Cochez toutes les cases
  3. Cochez "J'accepte les termes des conditions d'utilisation" et remplissez
  4. On vous demandera "Voulez-vous redémarrer?", Alors redémarrez tel quel.

Si l'avertissement de sécurité indique "Installez un logiciel non signé qui ne peut pas être approuvé ou validé. Voulez-vous continuer l'installation?", Cliquez sur le bouton Installer.

Inscription avec Heroku et inscription avec Creca

Créez un compte avec Heroku

Inscrivez-vous → https://signup.heroku.com/login

  1. Entrez les éléments requis ci-dessus et créez un compte
  2. Vous recevrez un e-mail de confirmation. Cliquez dessus pour définir un mot de passe.

Si vous l'avez fait jusqu'à présent, vous devriez avoir un écran de tableau de bord.

Enregistrer une carte de crédit pour utiliser MySQL

Dans Heroku, la base de données par défaut est PostgreSQL, vous devez donc ajouter un module complémentaire gratuit appelé clearDB pour en faire MySQL. Cependant, pour ce faire, vous devez enregistrer votre carte de crédit, alors enregistrez-vous.

  1. Sur l'écran du tableau de bord, cliquez sur Paramètres du compte dans l'icône dans le coin supérieur droit
  2. Cliquez sur "Ajouter une carte de crédit" dans Informations de facturation dans l'onglet Facturation.
  3. Entrez les éléments requis et cliquez sur Enregistrer les détails

Créer et exécuter une application de test et la publier sur heroku

Créer une application de test

Pour le moment, je posterai la procédure de création, mais puisque le projet est posté sur GitHub, vous pouvez télécharger la commande suivante.

terminal


$ git clone https://github.com/ikuto19/test-webapp.git
Procédure de création
  1. Après avoir démarré eclipse, cliquez avec le bouton droit dans l'Explorateur de packages
  2. Cliquez sur Nouveau> Projet
  3. Sélectionnez le projet Spring Starter pour Spring Boot et cliquez sur Suivant
  4. Nommez-le "webapp-test", groupe et package "com.app" et cliquez sur "Suivant"
  5. Vérifiez Thymeleaf à partir du moteur de modèle de dépendance et Spring Web à partir du Web et cliquez sur «Terminer».

Si vous vérifiez le contenu du projet, vous verrez qu'il a la structure montrée dans l'image ci-dessous. S'il n'y a pas de dossier de modèles, créez-en un. スクリーンショット 2020-07-26 16.35.59.png

Créez ensuite un nouveau fichier ou supprimez un fichier existant avec la configuration suivante. スクリーンショット 2020-07-27 13.38.23.png

Le contenu de chaque fichier est décrit comme suit.

App.java


package com.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

IndexController.java


package com.app.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class IndexController {
	
	@GetMapping("/")
	public String getIndexPage(Model model) {
		String message = "Hello, World!!";
		model.addAttribute("message",message);
		return "index";
	}
}

index.html


<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<meta charset="UTF-8">
<head>
<title>Tester l'application</title>
</head>
<body>
	<p th:text="${message}"></p>
</body>
</html>

Procfile


web: java $JAVA_OPTS -jar target/*.jar --server.port=$PORT

Confirmation d'exécution

console


020-08-11 17:25:37.546  INFO 13991 --- [          main] com.app.App     : Started App in 6.855 seconds (JVM running for 7.79)

Avec App.java sélectionné dans l'Explorateur de packages, cliquez avec le bouton droit de la souris et cliquez sur Exécuter> Application Spring Boot pour l'exécuter. Une fois le journal ci-dessus affiché en dernier, si vous accédez à http: // localhost: 8080 / avec un navigateur Web, l'image suivante s'affiche. スクリーンショット 2020-07-26 17.13.10.png

Déployer sur Heroku

Exécutez les commandes suivantes dans l'ordre Si vous appuyez sur une touche après avoir exécuté "heroku login", elle sera passée au navigateur Web, cliquez donc sur le bouton "Connexion"

terminal


$ brew tap heroku/brew && brew install heroku
$ heroku login

Si vous obtenez une erreur telle que "Le nom test-webapp est déjà pris" avec la commande create, modifiez le nom de l'application. Je veux qu'il soit utilisé par d'autres personnes. J'ai nommé l'application "test-webapp01".

terminal


$ cd (Chemin avec rythme de travail éclipse)/webapp-test
$ git init
$ heroku create test-webapp01
$ git add .
$ git commit -m "first upload"
$ git push heroku master (Ou git push-f heroku master)

スクリーンショット 2020-07-27 14.37.58.png Si vous voyez BUILD SUCCESS comme ça, je pense que vous avez réussi. Veuillez l'ouvrir avec la commande suivante et le vérifier. C'est tout pour cette fois.

terminal


$ heroku open

À la fin

Cette fois, nous nous sommes préparés à créer une application de gestion de livres et avons créé et publié une application de test. Je prévois d'expliquer le code en détail à partir de la prochaine fois, et je vais enfin faire une application de gestion de livres.

Suite la prochaine fois> Créons une application Web de gestion de livres avec Spring Boot part2

Site de référence

Essayez d'utiliser Spring Framework avec Eclipse

Les débutants Heroku essayent Hello, Heroku

Quatre choses sur lesquelles les débutants Heroku sont tombés lors du déploiement d'applications Web créées en Java avec l'intégration GitHub

Expliquez soigneusement comment créer une application Web à l'aide de Spring Boot

Recommended Posts

Créons une application Web de gestion de livres avec Spring Boot part1
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
Faisons une API simple avec EC2 + RDS + Spring boot ①
Démarrez le développement d'applications Web avec Spring Boot
Exécutez l'application WEB avec Spring Boot + Thymeleaf
Créer un serveur API Web avec Spring Boot
Un débutant Java a essayé de créer une application Web simple à l'aide de Spring Boot
Faisons un Bot LINE avec Ruby + Sinatra - Partie 2
[Spring Boot] Création d'applications Web
Faisons un Bot LINE avec Ruby + Sinatra - Partie 1
J'ai essayé de cloner une application Web pleine de bugs avec Spring Boot
Construisez un système WEB avec Spring + Doma + H2DB Partie 2
Faisons un disjoncteur pour le service backend à l'aide de l'actionneur de Spring Boot (partie 1)
La première application WEB avec Spring Boot-Making a Pomodoro timer-
Jusqu'à ce que vous créiez une application Web avec Servlet / JSP (Partie 1)
Créer une application d'enquête avec Spring Boot
Créer une application Web avec Javalin
Implémentez un serveur API Web REST simple avec Spring Boot + MySQL
[Débutant] Essayez d'écrire l'API REST pour l'application Todo avec Spring Boot
Traitement lors du démarrage d'une application avec Spring Boot
Faisons une carte de Noël avec Processing!
Créez une application Web simple avec Dropwizard
HTTPS avec Spring Boot et Let's Encrypt
Lancez l'application Nginx + Spring Boot avec docker-compose
Développement d'applications Web Spring Boot2 avec connexion Visual Studio Code SQL Server
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Développement d'applications Web Spring Boot2 avec création de Visual Studio Code Hello World
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Spring Boot App Edition]
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
[Spring Boot] Précautions lors du développement d'une application Web avec Spring Boot et du placement d'une guerre sur un serveur Tomcat indépendant
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Configurer l'application Spring Boot avec le module multiple maven
Créez une application de recherche simple avec Spring Boot
Créez une application Spring Boot à l'aide d'IntelliJ IDEA
Faisons une fonction de recherche avec Rails (ransack)
Déployer l'application Spring Boot sur Elastic Beanstalk
Construisez un système WEB avec Spring + Doma + H2DB
Créer un environnement de développement Spring Boot avec docker
J'ai créé une application d'apprentissage automatique avec Dash (+ Docker) part3 ~ Practice ~
Faisons une application de calculatrice avec Java ~ Créez une zone d'affichage dans la fenêtre
Connectez-vous aux applications Web Spring Boot sur la plate-forme Microsoft ID
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
Faisons une application TODO avec Java 2 Je veux créer un modèle avec Spring Initializr et créer Hello world
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Construisez un système WEB avec Spring + Doma + H2DB + Thymeleaf
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
[Bases de Java] Créons un triangle avec une instruction for
Implémentez une API Rest simple avec Spring Security avec Spring Boot 2.0
[Mémo de travail de l'application personnelle] Créez un calendrier avec simple_calendar
Personnalisez la réponse aux erreurs de l'API REST avec Spring Boot (Partie 2)
[JUnit 5] Ecrivez un test de validation avec Spring Boot! [Test de paramétrage]
Un mémorandum lors de la création d'un service REST avec Spring Boot
Créez un site de démonstration simple avec Spring Security avec Spring Boot 2.1
Disponibilité de l'application Spring Boot 2.3
Personnalisez la réponse aux erreurs de l'API REST avec Spring Boot (Partie 1)
J'ai écrit un test avec Spring Boot + JUnit 5 maintenant
[Introduction au développement d'applications Android] Faisons un compteur