Einführung
Spring Boot API Project Seed ist ein Seed-Projekt, das auf Spring Boot und MyBatis basiert. Es wird zum schnellen Erstellen kleiner und mittlerer API- und RESTful-API-Projekte verwendet schnell, sodass wir diese sich wiederholenden Aufgaben loswerden können. Konzentrieren Sie sich auf das Schreiben von Geschäftscode und reduzieren Sie Überstunden. Im Folgenden finden Sie eine einfache Anwendungsdemonstration, um zu sehen, wie Sie basierend auf diesem Projekt in nur wenigen Dutzend Sekunden eine einfache API implementieren und zur Bereitstellung von Diensten ausführen können.
Funktionen und Angebote
- Best-Practice-Projektstruktur, Konfigurationsdateien, optimiertes POM (siehe Projektstrukturdiagramm)
- Einheitliche Tools zum Packen und Generieren von Antwortergebnissen
- Einheitliche Ausnahmebehandlung
- Einfache Schnittstellensignaturauthentifizierung
- Abstrakte Kapselung häufig verwendeter Basismethoden
- Verwenden Sie Druid Spring Boot Starter, um den Druid-Datenbankverbindungspool und die Überwachung zu integrieren
- Verwenden Sie FastJsonHttpMessageConverter, um die JSON-Serialisierungsgeschwindigkeit zu verbessern
- Integrieren Sie MyBatis, das universelle Mapper-Plug-in und das PageHelper-Paging-Plug-in, um Null-SQL für Einzeltabellengeschäfte zu erreichen
- Es wird ein Codegenerator bereitgestellt, um entsprechende Basiscodes wie Model, Mapper, MapperXML, Service, ServiceImpl und Controller basierend auf dem Tabellennamen zu generieren. Die Controller-Vorlage bietet standardmäßig zwei Sätze von POST und RESTful, die Sie je nach Bedarf auswählen können in der Methode
CodeGenerator.genController(tableName)
wird standardmäßig die POST-Vorlage verwendet. Codevorlagen können entsprechend den Anforderungen tatsächlicher Projekte erweitert werden. Daher stellen wir nur einige relativ einfache und allgemeine Vorlagen bereit. Der Hauptzweck besteht darin, eine Idee zur Reduzierung des wiederholten Codes in tatsächlichen Projekten bereitzustellen . I Im Einsatz wird eine große Anzahl von Vorlagen tatsächlich auf der Grundlage der Abstraktion des Unternehmensgeschäfts geschrieben. Darüber hinaus kann die Verwendung von Vorlagen auch dabei helfen, den Programmierstil des Teams einheitlich zu halten. - Es warten auch Ostereier darauf, von Ihnen entdeckt zu werden
Schnellstart
- Projekt klonen
- Konfigurieren Sie den Codegenerator
CodeGenerator
im test
, hauptsächlich JDBC, da der Code basierend auf dem Tabellennamen generiert werden muss - Wenn Sie es anhand der obigen Demonstration einfach selbst ausprobieren möchten, können Sie
demo-user.sql
im test resources
verwenden. Andernfalls ignorieren Sie diesen Schritt - Geben Sie den Tabellennamen ein und führen Sie
CodeGenerator.main()
aus, um Basiscode zu generieren (möglicherweise müssen Sie das Projektverzeichnis aktualisieren, um herauszukommen). - Erweitern Sie den Basiscode entsprechend dem Unternehmen
- Konfigurieren Sie die Konfigurationsdatei der Entwicklungsumgebung
application-dev.properties
, starten Sie das Projekt, viel Spaß!
Entwicklungsvorschläge
- Für Tabellennamen empfiehlt sich die Verwendung von Kleinbuchstaben. Verwenden Sie Unterstriche, um mehrere Wörter miteinander zu verbinden.
- Es wird empfohlen, dass die Mitgliedsvariablen im Modell der Anzahl der Tabellenfelder entsprechen (z. B. beim Verbinden von Tabellenabfragen), es wird empfohlen, ein DTO zu erstellen. Andernfalls müssen Sie
@Transient
hinzufügen. Weitere Informationen finden Sie in der allgemeinen @Transient
-Plug-in-Dokumentation. - Es wird empfohlen
throw new ServiceException("该手机号已被注册")
einen Dienstausfall direkt mit ServiceException("message")
auszulösen, und der einheitliche Ausnahmeprozessor kapselt das Antwortergebnis eines Geschäftsausfalls, z direkt als {"code":400,"message":"该手机号已被注册"}
eingekapselt werden, Sie müssen sich nicht selbst darum kümmern, werfen Sie es einfach so oft, wie Sie möchten - Wenn Sie Toolklassen benötigen, empfiehlt es sich, diese zuerst bei
apache-commons-*
und guava
zu finden. Es besteht wirklich keine Notwendigkeit, das Rad neu zu erfinden oder Klassenbibliotheken einzuführen. - Es wird empfohlen, den Entwicklungsspezifikationen das Alibaba Java Development Manual zu folgen (laden Sie die neueste Version herunter).
- Es wird empfohlen, ShowDoc, SpringFox-Swagger2, RAP und andere Open-Source-Projekte innerhalb des Unternehmens zu verwenden, um API-Dokumente zu schreiben und zu verwalten
Technologieauswahl und Dokumentation
- Spring Boot (Spring Boot-Lern- und Nutzungsleitfaden anzeigen)
- MyBatis (offizielle chinesische Dokumentation ansehen)
- MyBatisb Universal Mapper Plug-in (siehe offizielle chinesische Dokumentation)
- MyBatis PageHelper Paging-Plug-in (siehe offizielle chinesische Dokumentation)
- Druid Spring Boot Starter (siehe offizielle chinesische Dokumentation)
- Fastjson (siehe offizielle chinesische Dokumentation)
- Andere leicht
Lizenz
Keine, reine Open-Source-Freigabe, vielen Dank an alle Star & Fork für Ihre Unterstützung.