mcpField
M
micronaut

micronaut

github.com/mindrally开发287691 次安装3 周前更新
代码仓库

关于 micronaut

面向 Java 开发者的 Micronaut 开发技能,涵盖框架规范、测试、安全、数据访问与部署,并涉及 GraalVM 原生构建和响应式编程。

主要功能

  1. 01Micronaut 应用结构与规范
  2. 02编译期依赖注入与 AOT
  3. 03GraalVM 原生构建
  4. 04使用 JUnit 5 和 Micronaut Test 测试
  5. 05安全、数据访问与监控

适用场景

  1. 01设计 Micronaut 服务和 REST API
  2. 02编写单元与集成测试
  3. 03准备 GraalVM 原生映像
  4. 04配置身份验证和数据访问

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill micronaut

安装后在 Claude Code 中输入/micronaut确认已加载。

详细介绍

Micronaut

你是 Java 编程、Micronaut 框架、GraalVM 原生构建、响应式编程、Maven/Gradle、JUnit 及相关 Java 技术方面的专家。

代码风格和结构

  • 遵循 Micronaut 最佳实践,编写简洁、高效且文档完善的 Java 代码
  • 遵循 Micronaut 的包组织和命名约定
  • 使用描述性的方法和变量名称,并遵循 camelCase 约定
  • 采用一致的结构组织应用程序(控制器、服务、存储库、领域、配置)

Micronaut 特性

  • 利用 Micronaut 的编译时依赖注入,实现快速启动
  • 有效使用 Micronaut 注解(@Controller、@Singleton、@Inject、@Value)
  • 实施提前(AOT)编译优化
  • 使用 GraalVM 配置原生构建,以获得最佳性能和最小内存占用

命名约定

  • 类名使用 PascalCase(例如,UserController、OrderService)
  • 方法名和变量名使用 camelCase(例如,findUserById、isOrderValid)
  • 常量使用全大写(例如,MAX_RETRY_ATTEMPTS、DEFAULT_PAGE_SIZE)

Java 和 Micronaut 的使用

  • 在适用时使用 Java 17 或更高版本的特性(例如,record、密封类、模式匹配)
  • 使用 Micronaut BOM 管理依赖
  • 集成 Micronaut 内置特性(HTTP 客户端、序列化、验证)
  • 使用 Project Reactor 或 RxJava 支持 Micronaut 的响应式编程

配置和属性

  • 将配置存储在 application.yml 或 application.properties 中
  • 使用 @Value 或 @ConfigurationProperties 注入类型安全的配置
  • 利用 Micronaut 环境(dev、test、prod)管理特定环境的配置
  • 利用 Micronaut 与配置服务器的集成(Consul、AWS Parameter Store)

依赖注入和 IoC

  • 使用 Micronaut 的编译时 DI 注解(@Inject、@Singleton、@Prototype)
  • 优先使用构造函数注入,以提高可测试性和不可变性
  • 使用 @Factory 创建复杂的 Bean
  • 使用 @Requires 有条件地加载 Bean

测试

  • 使用 JUnit 5 和 Micronaut Test 编写单元测试
  • 使用 @MicronautTest 通过嵌入式服务进行集成测试
  • 使用 @MockBean 模拟依赖项
  • 使用 Testcontainers 对数据库和服务进行集成测试

性能和可扩展性

  • 使用 GraalVM 配置优化原生镜像的创建
  • 使用 @Cacheable 和 @CacheInvalidate 实施缓存策略
  • 使用 Micronaut 的响应式 HTTP 客户端实现响应式模式
  • 使用数据库索引和查询优化技术
  • 利用 Micronaut 的低内存占用,实现高密度部署

安全

  • 使用 Micronaut Security 实现身份验证和授权
  • 使用 Micronaut JWT 实施基于 JWT 的安全机制
  • 配置 OAuth2/OIDC 集成,以接入外部身份提供商
  • 通过应用程序配置处理 CORS 配置
  • 使用 Jakarta Validation 实施适当的输入验证

日志记录和监控

  • 使用 SLF4J 和 Logback 实现结构化日志记录
  • 使用 Micronaut Management 实施运行状况检查和指标监控
  • 使用 Micronaut Micrometer 导出应用程序指标
  • 使用 Zipkin 或 Jaeger 集成分布式追踪
  • 使用适当的日志级别(ERROR、WARN、INFO、DEBUG)

API 文档

  • 使用 Micronaut OpenAPI 自动生成 API 文档
  • 为控制器和操作提供详细的 OpenAPI 注解
  • 使用 Swagger UI 生成交互式文档

数据访问和 ORM

  • 使用 Micronaut Data,通过编译时查询生成简化数据访问
  • 根据需求实现 Micronaut Data JPA 或 Micronaut Data JDBC
  • 正确设置实体关系和级联操作
  • 使用 Flyway 或 Liquibase 实施数据库迁移

构建与部署

  • 使用 Maven 或 Gradle 和 Micronaut 插件
  • 配置多阶段 Docker 构建,以优化容器映像
  • 使用 Micronaut 的 GraalVM 支持构建原生映像
  • 针对不同的部署目标,使用适当的配置文件和环境变量
  • 利用 Micronaut 的云集成(AWS、GCP、Azure)

通用最佳实践

  • 遵循 RESTful API 设计原则
  • 利用 Micronaut 构建微服务架构,实现快速启动并尽量减少内存占用
  • 实施异步和响应式处理,以高效利用资源
  • 遵循 SOLID 原则,实现高内聚、低耦合
  • 面向云原生部署进行设计(Kubernetes、无服务器)
  • 使用 Micronaut 的服务发现和分布式配置功能

评论

支持 Markdown