Sobre o projeto

AirPower4J é um scaffold de desenvolvimento backend mantido pela AirPowerTeam, construído com Java17, Spring Boot 3.x, JPA e MySQL, voltado ao desenvolvimento backend empresarial rápido e padronizado. Os módulos principais incluem permissões RBAC, validação de parâmetros de requisição, encapsulamento CURD, tratamento unificado de exceções, suporte SaaS multi-tenant, criptografia e segurança, além de WebSocket. O projeto adota a divisão padrão Controller Service Repository, usando em princípio Entity como estrutura de dados, reduzindo conversões EO VO DTO. Fornece um conjunto de anotações de desenvolvimento: Api para marcar controladores REST, Description para textos de erro e validação, Desensitize e DesensitizeIgnore para mascaramento de campos, Export para configuração de colunas de exportação, ReadOnly para restringir modificação de propriedades, Extends para controlar herança de métodos, Search para suportar busca exata ou difusa, Dictionary para associar dicionários de enumeração. Dicionários de enumeração precisam implementar a interface IDictionary para tradução automática. Modelos de dados precisam herdar RootModel para participar da interação com API, e entidades persistentes herdam RootEntity. Controladores precisam herdar ApiController, controladores relacionados a dados herdam CurdController, e podem usar CurdService e ICurdRepository para implementar operações padrão de CRUD. Exceções personalizadas implementam a interface IException. Classes que implementam ITree podem usar TreeUtil para construir estruturas de árvore padrão. Configurações do sistema são injetadas via variáveis de ambiente com prefixo airpower em application-xxx.yml. Classes utilitárias estão centralizadas em cn.hamm.airpower.core, acessíveis via Utils.getXXX. A inicialização do banco de dados usa JPA ddl-auto create-drop, sendo necessário criar manualmente o banco com charset utf8mb4_0900_ai_ci; não recomendado para ambiente de produção. Dependências são introduzidas via POM pai Maven cn.hamm:airpower, com dependência principal airpower-core. O projeto também pode ser combinado com o scaffold frontend @airpower/web Vue3 TypeScript ElementPlus Vite para desenvolvimento full-stack. Feedback de problemas pode ser enviado via GitHub Gitee Issue ou grupo QQ 555156313.