À propos du projet
AirPower4J est un échafaudage de développement backend maintenu par AirPowerTeam, construit sur Java17, Spring Boot 3.x, JPA et MySQL, destiné au développement backend d'entreprise rapide et standardisé au quotidien. Les modules principaux incluent les permissions RBAC, la validation des paramètres de requête, l'encapsulation CURD, la gestion unifiée des exceptions, le support SaaS multi-tenant, le chiffrement/déchiffrement et la sécurité, ainsi que WebSocket. Le projet adopte une stratification standard Controller Service Repository, en utilisant en principe Entity comme structure de données, afin de réduire les conversions EO VO DTO. Il fournit un ensemble d'annotations de développement : Api pour marquer les contrôleurs REST, Description pour les messages d'erreur et de validation, Desensitize et DesensitizeIgnore pour la désensibilisation des champs, Export pour la configuration des colonnes d'export, ReadOnly pour restreindre la modification des propriétés, Extends pour contrôler l'héritage des méthodes, Search pour prendre en charge la recherche exacte ou floue, Dictionary pour associer un dictionnaire d'énumération. Les dictionnaires d'énumération doivent implémenter l'interface IDictionary pour une traduction automatique. Les modèles de données doivent hériter de RootModel pour participer aux interactions API, et les entités persistantes héritent de RootEntity. Les contrôleurs doivent hériter de ApiController, les contrôleurs liés aux données héritent de CurdController, et peuvent être associés à CurdService et ICurdRepository pour implémenter les opérations standard de création, suppression, modification et recherche. Les exceptions personnalisées implémentent l'interface IException. Les classes implémentant ITree peuvent utiliser TreeUtil pour construire une structure arborescente standard. La configuration système est injectée via des variables d'environnement avec le préfixe airpower dans application-xxx.yml. Les classes utilitaires sont centralisées dans cn.hamm.airpower.core, accessibles via Utils.getXXX. L'initialisation de la base de données utilise JPA ddl-auto create-drop, nécessite la création manuelle d'une base de données avec le jeu de caractères utf8mb4_0900_ai_ci, et n'est pas recommandée en production. Les dépendances sont introduites via le POM parent Maven cn.hamm:airpower, avec la dépendance principale airpower-core. Le projet peut également être associé à l'échafaudage frontend @airpower/web Vue3 TypeScript ElementPlus Vite pour réaliser un développement full-stack. Les retours de problèmes peuvent être effectués via GitHub Gitee Issue ou le groupe QQ 555156313.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.