其他
用 Quarkus 开发 Jakarta…
适用于使用 Quarkus、Jakarta EE、MicroProfile、Vert.x、GraalVM 开发 Java 云原生微服务或事件驱动应用时参考。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
用 Quarkus 开发 Jakarta特定
解决思路
- 代码风格与结构:编写干净、高效且文档完善的 Java 代码,并遵循 Quarkus 最佳实践。
- 代码风格与结构:遵循 Jakarta EE 和 MicroProfile 约定,确保包组织清晰。
- 代码风格与结构:使用描述性方法名和变量名,并遵循 camelCase 约定。
- 代码风格与结构:以一致结构组织应用(resources、services、repositories、entities、configuration)。
- Quarkus 特性:利用 Quarkus Dev Mode 加快开发循环。
- Quarkus 特性:有效使用 Quarkus 注解(@ApplicationScoped、@Inject、@ConfigProperty)。
- Quarkus 特性:使用 Quarkus 扩展和最佳实践实现构建期优化。
- Quarkus 特性:使用 GraalVM 配置原生构建以获得最佳性能。
- 命名约定:类名使用 PascalCase(例如 UserResource、OrderService)。
- 命名约定:方法和变量名使用 camelCase(例如 findUserById、isOrderValid)。
- 命名约定:常量使用 ALL_CAPS(例如 MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)。
- Java 与 Quarkus:在适用时使用 Java 17 或更高版本特性(例如 records、sealed classes、模式匹配)。
- Java 与 Quarkus:使用 Quarkus BOM 管理依赖。
- Java 与 Quarkus:集成 MicroProfile API(Config、Health、Metrics、OpenAPI)。
- Java 与 Quarkus:使用 Vert.x 实现事件驱动或响应式编程模式。
- 配置与属性:将配置存储在 application.properties 或 application.yaml 中。
- 配置与属性:使用 @ConfigProperty 进行类型安全的配置注入。
- 配置与属性:依赖 Quarkus profiles(dev、test、prod)管理特定环境的配置。
- 依赖注入与 IoC:使用 CDI 注解(@Inject、@Named、@Singleton、@ApplicationScoped)。
- 依赖注入与 IoC:优先使用构造器注入或方法注入而非字段注入,以获得更好的可测试性。
- 依赖注入与 IoC:利用 Quarkus Arc 进行编译期 CDI 处理。
- 测试:使用 JUnit 5 编写单元测试,使用 @QuarkusTest 编写集成测试。
- 测试:使用 rest-assured 测试 REST 端点。
- 测试:在集成测试中使用内存数据库或 Testcontainers。
- 测试:使用 @QuarkusTestResource 管理测试依赖。
- 性能与可伸缩性:使用 quarkus.native.* 属性优化原生镜像创建。
- 性能与可伸缩性:使用 @CacheResult 和 @CacheInvalidate 实现缓存策略。
- 性能与可伸缩性:使用 Vert.x 或 Mutiny 实现响应式模式以实现非阻塞 I/O。
- 性能与可伸缩性:采用数据库索引和查询优化技术。
- 安全:使用 Quarkus Security 扩展(quarkus-oidc、quarkus-smallrye-jwt)进行身份认证和授权。
- 安全:集成 MicroProfile JWT 实现基于令牌的安全。
- 安全:通过 Quarkus 扩展处理 CORS 配置和安全响应头。
- 安全:实现适当的输入校验。
- 日志与监控:使用 Quarkus 日志子系统并配合 SLF4J 或 JUL 桥接。
- 日志与监控:实现 MicroProfile Health 检查以支持 readiness 和 liveness 探针。
- 日志与监控:使用 MicroProfile Metrics 采集应用指标。
- 日志与监控:集成 MicroProfile OpenTracing 实现分布式追踪。
- 日志与监控:使用合适的日志级别和结构化日志。
- API 文档:使用 Quarkus OpenAPI 扩展(quarkus-smallrye-openapi)生成 API 文档。
- API 文档:为资源和操作提供详细的 OpenAPI 注解。
- API 文档:使用 Swagger UI 生成交互式文档。
- 数据访问与 ORM:使用 Quarkus Hibernate ORM 与 Panache 简化数据访问。
- 数据访问与 ORM:实现正确的实体关系和级联。
- 数据访问与 ORM:使用 Flyway 或 Liquibase 进行数据库模式迁移。
- 数据访问与 ORM:利用 Quarkus Reactive SQL clients 实现响应式数据库访问。
- 构建与部署:使用 Maven 或 Gradle 并配合 Quarkus 插件(quarkus-maven-plugin)。
- 构建与部署:配置多阶段 Docker 构建以优化容器镜像。
- 构建与部署:为不同部署目标使用合适的 profiles 和环境变量。
- 构建与部署:通过反射配置优化 GraalVM 原生镜像创建。
- 通用最佳实践:遵循 RESTful API 设计原则。
- 通用最佳实践:利用 Quarkus 构建启动快、内存占用低的微服务架构。
- 通用最佳实践:实现异步和响应式处理以高效利用资源。
- 通用最佳实践:遵循 SOLID 原则以实现高内聚、低耦合。
- 通用最佳实践:面向云原生部署进行设计(Kubernetes、OpenShift)。
适用边界 · 注意事项
- 未使用 Quarkus、Jakarta EE、MicroProfile 或 CDI 的 Java 项目,不应直接套用这些做法。
- 不采用 GraalVM 原生镜像、Vert.x/Mutiny 响应式编程或 Testcontainers 时,相关条目不适用。
- 项目不是 Java 技术栈或不需要云原生/微服务部署时,这些建议不适用。