[JAVA] Implementieren Sie die REST-API mit Spring Boot

Hier finden Sie eine Zusammenfassung meiner persönlichen Best Practices vom Juni 2018 bezüglich der Kombination von Tools bei der Implementierung der REST-API in Spring Boot.

Entwicklungsumgebung (IDE)

Entscheidungen

→ Als IDE wird es in der offiziellen Android-Entwicklungsumgebung verwendet, und IntelliJ IDEA wird wahrscheinlich in Zukunft weit verbreitet sein. Für die Verwendung der Spring-Entwicklungsunterstützungsfunktion ist jedoch Ultimate Edition erforderlich. Eclipse ist eine gute Wahl für Projekte, die nicht so gut sind wie der Kauf einer Lizenz.

Referenz

Werkzeug erstellen

Entscheidungen

→ Gradle, das flexibles Schreiben mit Groovy ermöglicht, wird wahrscheinlich in Zukunft zum Mainstream. Maven ist jedoch ausreichend, wenn es nur zur Auflösung und Erstellung von Abhängigkeiten verwendet wird.

Referenz

Kontrolle der HTTP-Kommunikation (gegenseitige Konvertierung zwischen REST-API und Java-API)

Entscheidungen

→ JAX-RS ist eine Java-Standardspezifikation, und die Implementierungsbibliotheken, die auf Betriebsebene verwendet werden können, wurden erweitert. Daher ist es besser, das Spring-Boot-Starter-Trikot zu verwenden.

Referenz

Aspektorientierte Programmierung (AOP)

Entscheidungen

→ Es ist einfach, Spring AOP mit AspectJ-Annotation festzulegen, und die Einstellung kann im Code zusammengefasst werden. Wenn Sie den Aspekt jedoch auf eine Instanz festlegen möchten, die nicht von Spring verwaltet wird, oder wenn Sie ihn zu einem anderen Zeitpunkt als der Methodenausführung festlegen möchten, müssen Sie AspectJ verwenden.

Referenz

Datenbankzugriff

Entscheidungen

→ Spring-Boot-Starter-Data-JPA ist praktisch, da einfache Datenbankoperationen ohne SQL beschrieben werden können.

Darüber hinaus muss der entsprechende Connector installiert werden, um eine Verbindung mit jeder Datenbank herzustellen. (Installieren Sie beispielsweise im Fall von MySQL mysql-connector-java.)

Referenz

Verbindungspool

Entscheidungen

→ Es ist besser, Hikari CP zu verwenden, das eine hervorragende Leistung aufweist und von Spring Boot empfohlen wird.

Transaktionsmanagement

Entscheidungen

→ Bei Verwendung von Transaktionen für eine einzelne Transaktionszielressource (DB, MQ usw.) ist die Transaktionsverwaltungsfunktion von Spring Framework ausreichend. Laut Spring-Referenz sollten Sie Spring entweder mit der JTA-Funktion des Anwendungsservers kombinieren oder eine Transaktionsbibliothek wie Atomikos verwenden, wenn Sie Transaktionen über mehrere Ressourcen hinweg verwenden möchten.

Referenz

Codegenerierungsbibliothek

Entscheidungen

→ AutoValue ist ausschließlich eine Bibliothek zum Erstellen einer Klasse für unveränderliche Werte. Lombok kann jedoch durch einfaches Hinzufügen einer Zugriffsmethode zu einer allgemeinen Klasse verwendet werden und kann auf viele Arten verwendet werden. Wenn Sie jedoch die Codegenerierungsfunktion erweitern möchten, ist es besser, die AutoValue-Erweiterung zu implementieren. (Lombok unterstützt Erweiterungsmethode auf Testbasis, es ist jedoch unklar, ob es in der offiziellen Version enthalten sein wird.)

Referenz

Einstellungsdatei lesen

Sie können die Konfigurationsdatei einfach mit dem Spring-Boot-Konfigurationsprozessor lesen. Es gibt drei Möglichkeiten, die Konfigurationsdatei zu lesen.

→ Da Einstellungen häufig eine hierarchische Struktur haben, ist es einfach, "@ ConfigurationProperties" zu verwenden.

Referenz

Protokollierung

Entscheidungen

→ SLF4J + Logback wird wahrscheinlich in Zukunft zum Mainstream. Selbst wenn Sie ein anderes Protokollierungssystem verwenden, können Sie es mit der in Bridging Legacy APIs eingeführten Methode in SLF4J zusammenfassen.

Referenz

Prüfung

Wenn es kein Problem gibt, ist es besser, den Spring-Boot-Test zu verwenden. AssertJ (Behauptung), Hamcrest (Match-Operation), [Mockito](http: / Die zum Testen erforderliche Bibliothek wie /mockito.org/) (mock) ist vollständig.

Referenz

Recommended Posts

Implementieren Sie die REST-API mit Spring Boot
Implementieren Sie eine einfache Rest-API mit Spring Security mit Spring Boot 2.0
Implementieren Sie die Spring Boot-Anwendung in Gradle
Führen Sie swagger-ui in die in Spring Boot implementierte REST-API ein
Implementieren Sie die REST-API mit Spring Boot und JPA (Application Layer).
Implementieren Sie die REST-API mit Spring Boot und JPA (Infrastructure Layer).
Implementieren Sie die REST-API mit Spring Boot und JPA (Domain Layer Edition).
Implementieren Sie eine einfache Rest-API mit Spring Security & JWT mit Spring Boot 2.0
So implementieren Sie optimistisches Sperren in der REST-API
Legen Sie den Kontextparameter in Spring Boot fest
Implementieren Sie GraphQL mit Spring Boot
Spring Boot 2 Multiprojekt mit Gradle
Wichtige Änderungen in Spring Boot 1.5
NoHttpResponseException in Spring Boot + WireMock
Hallo Welt (REST API) mit Apache Camel + Spring Boot 2
[Spring Boot] Benutzerinformationen mit Rest API abrufen (Anfänger)
Passen Sie die Antwort auf REST-API-Fehler mit Spring Boot an (Teil 2).
Passen Sie die Antwort auf REST-API-Fehler mit Spring Boot an (Teil 1).
Feder mit Kotorin --4 REST API Design
Frühlingsstiefel Hallo Welt in Eclipse
Spring Boot-Anwendungsentwicklung in Eclipse
Schreiben Sie den Testcode mit Spring Boot
Spring Boot: Restful API-Beispielprojekt
Implementieren Sie reCAPTCHA v3 in Java / Spring
Spring Boot Access Authorization RESTful API
Aufrufen und Verwenden der API in Java (Spring Boot)
Was ist @Autowired im Spring Boot?
Verwendung von Thymeleaf mit Spring Boot
Lassen Sie uns herausfinden, wie Sie mit Request Body mit der REST-API von Spring Boot empfangen können
Proxy- und Timeout-Einstellungen beim Aufrufen der API mit Spring Rest Template
Ändern Sie die Spring Boot REST API-Anforderung / Antwort von CamelCase in SankeCase
[Anfänger] Versuchen Sie, die REST-API für die Todo-App mit Spring Boot zu schreiben
Implementieren Sie API Gateway Lambda Authorizer in Java Lambda
Starten Sie mit IntelliJ ein (altes) Spring Boot-Projekt
Erstellen Sie mit Gradle ein Spring Boot + Docker-Image
Statische Dateizugriffspriorität beim Spring Boot
Spring Boot-Protokoll im JSON-Format ausgeben
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Erstellen Sie mit IntelliJ ein Java Spring Boot-Projekt
Verwenden Sie die DynamoDB-Abfragemethode mit Spring Boot
Implementieren Sie CRUD mit Spring Boot + Thymeleaf + MySQL
Implementieren Sie die Paging-Funktion mit Spring Boot + Thymeleaf
DI SessionScope Bean im Spring Boot 2-Filter
Ändern Sie das Sitzungszeitlimit in Spring Boot
Fordern Sie Spring Boot heraus
Spring Boot Form
Spring Boot Denken Sie daran
gae + frühlingsstiefel
SameSite-Cookie im Spring Boot (Spring Web MVC + Tomcat)
Testen Sie den Controller mit Mock MVC im Spring Boot
Asynchrone Verarbeitung mit regelmäßiger Ausführung in Spring Boot
Führen Sie ein Spring Boot-Projekt mit VS-Code aus
Anforderungs- und Antwortprotokolle mit Spring Boot ausgeben
Versuchen Sie, die Anmeldefunktion mit Spring Boot zu implementieren
Servlet-Filter mit Spring Boot verwenden [Spring Boot 1.x, 2.x kompatibel]
So fügen Sie in Spring Boot einen Klassenpfad hinzu
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
So binden Sie mit einer Eigenschaftendatei in Spring Boot
◆ Rufen Sie die von Spring Boot erstellte API von React ab
Erstellen Sie einen Web-API-Server mit Spring Boot
Anmerkungen, die in Spring Boot-Aufgabenverwaltungstools verwendet werden