Sobre el proyecto
AirPower4J es un andamiaje de desarrollo backend mantenido por AirPowerTeam, construido sobre Java17, Spring Boot 3.x, JPA y MySQL, orientado al desarrollo backend empresarial diario rápido y estandarizado. Los módulos principales incluyen permisos RBAC, validación de parámetros de solicitud, encapsulación CRUD, manejo unificado de excepciones, soporte SaaS multiinquilino, cifrado/descifrado y seguridad, así como WebSocket. El proyecto adopta la estratificación estándar Controller Service Repository y, en principio, utiliza Entity como estructura de datos para reducir las conversiones EO VO DTO. Proporciona un conjunto de anotaciones de desarrollo: Api para marcar controladores REST, Description para textos de errores y validación, Desensitize y DesensitizeIgnore para enmascaramiento de campos, Export para configuración de columnas de exportación, ReadOnly para restringir la modificación de atributos, Extends para controlar la herencia de métodos, Search para búsqueda exacta o difusa, y Dictionary para asociar diccionarios de enumeraciones. Los diccionarios de enumeraciones deben implementar la interfaz IDictionary para lograr la traducción automática. Los modelos de datos deben heredar RootModel para participar en la interacción con la API, y las entidades persistentes deben heredar RootEntity. Los controladores deben heredar ApiController; los controladores relacionados con datos heredan CurdController y pueden combinarse con CurdService e ICurdRepository para implementar operaciones CRUD estándar. Las excepciones personalizadas implementan la interfaz IException. Las clases que implementan ITree pueden usar TreeUtil para construir estructuras de árbol estándar. La configuración del sistema se inyecta mediante variables de entorno con el prefijo airpower en application-xxx.yml. Las clases de utilidad se concentran en cn.hamm.airpower.core y pueden obtenerse mediante Utils.getXXX. La inicialización de la base de datos utiliza JPA ddl-auto create-drop; es necesario crear manualmente una base de datos con el conjunto de caracteres utf8mb4_0900_ai_ci, y no se recomienda su uso en entornos de producción. Las dependencias se introducen a través del POM padre de Maven cn.hamm:airpower, siendo la dependencia principal airpower-core. El proyecto también puede combinarse con el andamiaje frontend @airpower/web de Vue3 TypeScript ElementPlus Vite para lograr un desarrollo full-stack. Los problemas pueden reportarse a través de GitHub Gitee Issue o del grupo QQ 555156313.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.