Cet article est [ce blog](https://yk0807.com/techblog/2019/05/06/spring-boot%E5%85%A5%E9%96%80%E3%81%9D%E3%81 % AE1 /) est déplacé vers Qiita. Cela ne fait qu'un peu plus d'un mois que j'ai commencé à utiliser Spring Boot, et il y a peut-être des explications inappropriées, mais j'apprécierais que vous le souligniez.
Dans WEB + DB PRESS 106, il y avait un article Spring Boot sur la création d'un service de gestion des tâches et du service d'analyse et de distribution Qiita. Pour le moment, j'ai essayé le service de gestion des tâches. Le code source créé en imitant l'article de WEB + DB PRESS cette fois-ci peut être trouvé à ici. Nous prévoyons d'apporter diverses améliorations à l'avenir. Au fait, le produit fini (?) Ressemble à ceci.
Un framework Web Java appelé Spring Framework a été créé en 2003 et Spring Boot a été créé en 2014 pour faciliter son utilisation. [DI (Dependency Injection)](https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3 Il est caractérisé en utilisant le concept de% A8% E5% 85% A5).
Ici, je vais vous expliquer la configuration de Spring Boot d'une manière similaire à celle de Laravel. Dans Spring Boot, contrairement à Laravel, la structure des dossiers n'est pas fixe, vous devez donc penser à la structure vous-même. Les sources Java sont placées sous src / main / java, et les non-Java (html, css, js, etc.) sont placées sous src / main / resources. La source des tests avec JUnit se trouve sous src / test.
src / main / java (fichier source Java) -Application (Il s'agit de la fonction principale. Ajoutez @SpringBootApplication à l'annotation. Cette fonction principale est appelée lorsque le projet est exécuté. Est-elle proche de l'index.php de Laravel?) -Entity (Définition de données. Ajoutez une annotation @Entity. Importez lombok.Data et ajoutez @Data pour générer automatiquement des getters et des setters. De plus, [JPA](https: //ja.wikipedia) Si vous utilisez .org / wiki / Java_Persistence_API) (technologie standard pour gérer les bases de données en Java) et ajoutez @Table (nom = “nom de la table”), la table sera créée automatiquement. Modèle de Laravel (directement sous l'application) Ce mec) + migration?) -Repository (Il sert à effectuer des opérations de base de CRUD (créer, lire, mettre à jour, supprimer) des données définies dans Entity, et est défini comme une interface qui hérite de JpaRepository. C'est une fonction que Laravel n'a pas.) -Controller (contrôleur qui gère le C de MVC, similaire à celui de Laravel, mais implémente le traitement des données, etc. en appelant le service expliqué ci-dessous. Ajoutez l'annotation @Controller à la classe. Aussi, la méthode Get Ensuite, vous pouvez mapper la requête en annotant @GetMapping (valeur = ”(URL)”) à la méthode et @PostMapping (valeur = ”(URL)”) à la méthode de la méthode Post, donc Laravel. Ensuite, il peut s'agir d'une image proche des routes Controller +) -Service (Il implémente le traitement à effectuer sur les données et le transmet au contrôleur. Ce n'est pas non plus dans Laravel, mais si vous osez le dire, cela peut être une image qui se connecte entre le modèle et le contrôleur. Annotation @Service Le traitement réel est implémenté en appelant l'opération CRUD de Repository.) -Form (une classe pour passer la valeur saisie dans le formulaire html au contrôleur. Il semble que la validation se fait souvent ici. Demande en Laravel?)
src / main / resources (frontal, etc.) -Thymeleaf (lu comme feuille de temps. Il semble être nommé d'après l'herbe de la plante. Ce qu'on appelle le moteur de modèle. Blade est la valeur par défaut pour Laravel, mais Spring Boot semble prendre en charge plusieurs autres moteurs de modèle. ) -Application.properties (Il a des valeurs de paramètres d'application, et je pense que les fichiers sous config sont proches les uns des autres dans Laravel. Les paramètres de base de données à utiliser sont également définis ici.)
Comme mentionné ci-dessus, je l'ai écrit à la hâte, c'était donc une explication approximative, mais quand j'écris la partie 2, je pense que je devrais l'écrire un peu plus en détail.
Recommended Posts