研发协作
需要基于 Micronaut 开发云原生 Java…
适用于使用 Java 17+ 和 Micronaut 构建微服务,并需要编译期依赖注入、原生镜像、响应式、安全、数据访问与部署最佳实践的开发场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要基于 Micronaut 开发云原生特定
解决思路
- 编写干净、高效且文档完善的 Java 代码,并遵循 Micronaut 最佳实践。
- 遵循 Micronaut 的包组织和命名约定。
- 使用方法名和变量名具备描述性,并遵循 camelCase 命名约定。
- 按一致的组织结构搭建应用,例如 controllers、services、repositories、domain、configuration。
- 利用 Micronaut 的编译期依赖注入来加快启动速度。
- 有效使用 Micronaut 注解(@Controller、@Singleton、@Inject、@Value)。
- 实现提前编译(AOT)优化。
- 使用 GraalVM 配置原生构建,以获得最佳性能和最小内存占用。
- 类名使用 PascalCase(例如 UserController、OrderService)。
- 方法名和变量名使用 camelCase(例如 findUserById、isOrderValid)。
- 常量使用 ALL_CAPS(例如 MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)。
- 在适用时使用 Java 17 或更高版本特性(例如 records、sealed classes、pattern matching)。
- 使用 Micronaut BOM 管理依赖。
- 集成 Micronaut 内置特性(HTTP client、serialization、validation)。
- 使用 Micronaut 对 Project Reactor 或 RxJava 的响应式支持。
- 将配置存储在 application.yml 或 application.properties 中。
- 使用 @Value 或 @ConfigurationProperties 进行类型安全的配置注入。
- 依赖 Micronaut environments(dev、test、prod)管理不同环境的配置。
- 利用 Micronaut 的配置服务器集成(Consul、AWS Parameter Store)。
- 使用 Micronaut 的编译期 DI 注解(@Inject、@Singleton、@Prototype)。
- 优先使用构造器注入,以提升可测试性和不可变性。
- 使用 @Factory 创建复杂 bean。
- 使用 @Requires 实现条件化 bean 加载。
- 使用 JUnit 5 和 Micronaut Test 编写单元测试。
- 使用 @MicronautTest 配合内嵌服务器进行集成测试。
- 实现 @MockBean 来模拟依赖。
- 使用 Testcontainers 进行数据库和服务集成测试。
- 使用 GraalVM 配置优化原生镜像创建。
- 使用 @Cacheable 和 @CacheInvalidate 实现缓存策略。
- 使用 Micronaut 的响应式 HTTP client 实现响应式模式。
- 采用数据库索引和查询优化技术。
- 利用 Micronaut 的低内存占用实现高密度部署。
- 使用 Micronaut Security 进行认证和授权。
- 使用 Micronaut JWT 实现基于 JWT 的安全。
- 为外部身份提供方配置 OAuth2/OIDC 集成。
- 通过应用配置处理 CORS 配置。
- 使用 Jakarta Validation 实现适当的输入校验。
- 使用 SLF4J 配合 Logback 进行结构化日志记录。
- 实现 Micronaut Management 以支持健康检查和指标。
- 使用 Micronaut Micrometer 导出应用指标。
- 集成 Zipkin 或 Jaeger 进行分布式追踪。
- 使用恰当的日志级别(ERROR、WARN、INFO、DEBUG)。
- 使用 Micronaut OpenAPI 自动生成 API 文档。
- 为 controllers 和 operations 提供详细的 OpenAPI 注解。
- 使用 Swagger UI 生成交互式文档。
- 使用 Micronaut Data 简化数据访问,并通过编译期生成查询。
- 根据需求实现 Micronaut Data JPA 或 Micronaut Data JDBC。
- 使用正确的实体关系和级联。
- 使用 Flyway 或 Liquibase 实现数据库迁移。
- 使用 Maven 或 Gradle 配合 Micronaut 插件。
- 配置多阶段 Docker 构建,以优化容器镜像。
- 使用 Micronaut 的 GraalVM 支持进行原生镜像构建。
- 针对不同部署目标使用恰当的 profiles 和环境变量。
- 利用 Micronaut 的云集成(AWS、GCP、Azure)。
- 遵循 RESTful API 设计原则。
- 利用 Micronaut 构建微服务架构,以获得快速启动和最小内存。
- 实现异步和响应式处理,以高效利用资源。
- 遵循 SOLID 原则,实现高内聚低耦合。
- 面向云原生部署进行设计(Kubernetes、serverless)。
- 使用 Micronaut 的服务发现和分布式配置功能。
适用边界 · 注意事项
- 不适用于非 Java/JVM 项目,或项目未采用 Micronaut 框架。
- 如果无法使用 GraalVM、Testcontainers、Consul、AWS Parameter Store、Zipkin/Jaeger 等依赖或基础设施,则相关条目不应机械套用。
- 如果团队不能接受编译期 DI/AOT 的约束,或需要以运行时动态 DI/反射为主,则部分做法不适用。