Introduction
Spring Boot API Project Seed est un projet de démarrage basé sur Spring Boot et MyBatis. Il est utilisé pour créer rapidement des projets API et RESTful de petite et moyenne taille. Ce projet de démarrage a été mis en pratique dans de nombreux projets réels. rapide, ce qui nous permet de nous débarrasser de ces tâches répétitives, de nous concentrer sur l'écriture du code métier et de réduire les heures supplémentaires. Ce qui suit est une démonstration d'utilisation simple pour voir comment implémenter une API simple en quelques dizaines de secondes seulement sur la base de ce projet et l'exécuter pour fournir des services.
Fonctionnalités et offres
- Structure de projet basée sur les meilleures pratiques, fichiers de configuration, POM simplifié (voir le diagramme de structure du projet)
- Outils de packaging et de génération de résultats de réponse unifiés
- Gestion unifiée des exceptions
- Authentification de signature d'interface simple
- Encapsulation abstraite des méthodes de base couramment utilisées
- Utilisez Druid Spring Boot Starter pour intégrer le pool de connexions et la surveillance de la base de données Druid
- Utilisez FastJsonHttpMessageConverter pour améliorer la vitesse de sérialisation JSON
- Intégrez MyBatis, le plug-in Universal Mapper et le plug-in de pagination PageHelper pour atteindre zéro SQL pour les entreprises à table unique
- Un générateur de code est fourni pour générer les codes de base correspondants tels que Model, Mapper, MapperXML, Service, ServiceImpl et Controller en fonction du nom de la table. Le modèle Controller fournit deux ensembles de POST et RESTful par défaut. dans la méthode
CodeGenerator.genController(tableName)
Le modèle POST est utilisé par défaut. Les modèles de code peuvent être étendus en fonction des besoins des projets réels. Étant donné que les activités de chaque entreprise sont différentes, nous ne fournissons que quelques modèles relativement basiques et courants. L'objectif principal est de fournir une idée pour réduire l'écriture de code répétée dans les projets réels. I Dans l'usage, un grand nombre de modèles sont en réalité rédigés sur la base de l'abstraction du métier de l'entreprise. De plus, l’utilisation de modèles peut également aider à maintenir l’unité du style de codage de l’équipe. - Il y a aussi des œufs de Pâques qui vous attendent pour les explorer
démarrage rapide
- Projet de clonage
- Configurez le générateur de code
CodeGenerator
dans le package test
, principalement JDBC, car le code doit être généré en fonction du nom de la table - Si vous souhaitez simplement l'essayer vous-même en vous basant sur la démonstration ci-dessus, vous pouvez utiliser
demo-user.sql
dans le répertoire test resources
, sinon ignorez cette étape - Entrez le nom de la table et exécutez
CodeGenerator.main()
pour générer le code de base (vous devrez peut-être actualiser le répertoire du projet pour sortir) - Développer le code de base en fonction du métier
- Configurez le fichier de configuration de l'environnement de développement
application-dev.properties
, démarrez le projet, amusez-vous !
Propositions de développement
- Pour les noms de tableaux, il est recommandé d'utiliser des lettres minuscules. Utilisez des traits de soulignement pour joindre plusieurs mots.
- Il est recommandé que les variables membres du modèle correspondent au nombre de champs de la table. Si vous devez étendre les variables membres (comme les requêtes de table de connexion), il est recommandé de créer un DTO. Sinon, vous devez ajouter
@Transient
Annotation @Transient
sur les variables membres étendues. Pour plus de détails, consultez la documentation générale du plug-in Mapper. - Il est recommandé que l'échec du service soit généré directement à l'aide
ServiceException("message")
, et le processeur d'exceptions unifié encapsulera le résultat de la réponse à l'échec de l'entreprise, comme throw new ServiceException("该手机号已被注册")
, ce qui être directement encapsulé lorsque {"code":400,"message":"该手机号已被注册"}
revient, pas besoin de le gérer vous-même, lancez-le simplement autant que vous le souhaitez - Si vous avez besoin de classes d'outils, il est recommandé de les trouver d'abord dans
apache-commons-*
et guava
. Il n'est vraiment pas nécessaire de réinventer la roue ou d'introduire des bibliothèques de classes, et d'essayer de rationaliser le projet autant que possible. - Il est recommandé de suivre les spécifications de développement du manuel de développement Alibaba Java (télécharger la dernière version)
- Il est recommandé d'utiliser ShowDoc, SpringFox-Swagger2, RAP et d'autres projets open source au sein de l'entreprise pour rédiger et gérer des documents API.
Sélection technologique et documentation
- Spring Boot (voir le guide d'apprentissage et d'utilisation de Spring Boot)
- MyBatis (voir la documentation officielle chinoise)
- Plug-in MyBatisb Universal Mapper (voir la documentation officielle chinoise)
- Plug-in de pagination MyBatis PageHelper (voir la documentation officielle chinoise)
- Druid Spring Boot Starter (voir la documentation officielle chinoise)
- Fastjson (voir la documentation officielle chinoise)
- D'autres légèrement
Licence
Aucun, partage purement open source, merci à tous Star & Fork pour votre soutien.