Dieser Artikel ist [dieser Blog](https://yk0807.com/techblog/2019/05/06/spring-boot%E5%85%A5%E9%96%80%E3%81%9D%E3%81 % AE1 /) wird nach Qiita verschoben. Es ist etwas mehr als einen Monat her, seit ich mit Spring Boot angefangen habe, und es gibt möglicherweise einige unangemessene Erklärungen, aber ich würde es begrüßen, wenn Sie darauf hinweisen könnten.
In WEB + DB PRESS 106 gab es einen Spring Boot-Artikel zum Erstellen eines Task-Management-Service und eines Qiita-Crawl- und Distributionsdienstes. Vorerst habe ich den Task Management Service ausprobiert. Der Quellcode, der dieses Mal durch Nachahmung des Artikels von WEB + DB PRESS erstellt wurde, finden Sie unter hier. Wir planen, in Zukunft verschiedene Verbesserungen vorzunehmen. Das fertige Produkt (?) Sieht übrigens so aus.
Das Spring Framework, ein Java-Webframework, wurde 2003 erstellt, und Spring Boot wurde 2014 erstellt, um die Verwendung zu vereinfachen. [DI (Dependency Injection)](https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3 Es zeichnet sich durch das Konzept von% A8% E5% 85% A5) aus.
Hier werde ich die Konfiguration von Spring Boot auf ähnliche Weise wie bei Laravel erläutern. In Spring Boot ist die Ordnerstruktur im Gegensatz zu Laravel nicht festgelegt, sodass Sie selbst über die Struktur nachdenken müssen. Java-Quellen werden unter src / main / java und Nicht-Java (HTML, CSS, JS usw.) unter src / main / resources abgelegt. Die Quelle zum Testen mit JUnit befindet sich unter src / test.
src / main / java (Java-Quelldatei) -Anwendung (Dies ist die Hauptfunktion. Fügen Sie der Anmerkung @SpringBootApplication hinzu. Diese Hauptfunktion wird aufgerufen, wenn das Projekt ausgeführt wird. Befindet sie sich in der Nähe von Laravels index.php?) -Entity (Datendefinition. Fügen Sie die Annotation @Entity hinzu. Importieren Sie lombok.Data und fügen Sie @Data hinzu, um automatisch Getter und Setter zu generieren. Außerdem [JPA](https: //ja.wikipedia) Wenn Sie .org / wiki / Java_Persistence_API (Standardtechnologie für den Umgang mit Datenbanken in Java) verwenden und @Table (name = "Tabellenname") hinzufügen, wird die Tabelle automatisch erstellt. Laravels Modell (direkt unter App) Dieser Typ) + Migration?) -Repository (Es dient zum Ausführen grundlegender CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) von in Entity definierten Daten und ist als Schnittstelle definiert, die JpaRepository erbt. Es ist eine Funktion, die Laravel nicht hat.) -Controller (Controller, der C von MVC ähnlich wie Laravel verarbeitet, jedoch die Verarbeitung von Daten usw. durch Aufrufen des unten erläuterten Dienstes implementiert. Fügen Sie der Klasse die Annotation @Controller hinzu. Rufen Sie außerdem die Methode Get auf Anschließend können Sie die Anforderung zuordnen, indem Sie der Methode @GetMapping (value = ”(URL)”) und der Methode für die Post-Methode @PostMapping (value = ”(URL)”) hinzufügen, also Laravel. Dann kann es sich um ein Bild in der Nähe von Controller + -Routen handeln. -Service (Implementiert die Verarbeitung der Daten und leitet sie an den Controller weiter. Dies ist auch nicht in Laravel der Fall, aber wenn Sie es wagen, es zu sagen, kann es sich um ein Image handeln, das eine Verbindung zwischen dem Modell und dem Controller herstellt. @ Service-Annotation Die eigentliche Verarbeitung wird durch Aufrufen der CRUD-Operation von Repository implementiert.) -Form (eine Klasse zum Übergeben des im HTML-Formular eingegebenen Werts an den Controller. Es scheint, dass hier häufig eine Validierung durchgeführt wird. Anfrage in Laravel?)
src / main / resources (Frontend usw.) -Thymeleaf (als Zeitblatt gelesen. Es scheint nach dem Kraut der Pflanze benannt zu sein. Sogenannte Template-Engine. Blade ist die Standardeinstellung für Laravel, aber Spring Boot scheint mehrere andere Template-Engines zu unterstützen. ) -Application.properties (Es hat Anwendungseinstellungswerte, und ich denke, dass die Dateien unter config in Laravel nahe beieinander liegen. Die zu verwendenden Datenbankeinstellungen werden auch hier festgelegt.)
Wie oben erwähnt, habe ich es in Eile geschrieben, daher war es eine grobe Erklärung, aber wenn ich Teil 2 schreibe, denke ich, ich sollte es etwas detaillierter schreiben.
Recommended Posts