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.
→ 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.
→ 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.
→ 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.
→ 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.
→ 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.)
→ Es ist besser, Hikari CP zu verwenden, das eine hervorragende Leistung aufweist und von Spring Boot empfohlen wird.
→ 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.
→ 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.)
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.
→ 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.
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.
Recommended Posts