关于 micronaut
面向 Java 开发者的 Micronaut 开发技能,涵盖框架规范、测试、安全、数据访问与部署,并涉及 GraalVM 原生构建和响应式编程。
主要功能
- 01Micronaut 应用结构与规范
- 02编译期依赖注入与 AOT
- 03GraalVM 原生构建
- 04使用 JUnit 5 和 Micronaut Test 测试
- 05安全、数据访问与监控
适用场景
- 01设计 Micronaut 服务和 REST API
- 02编写单元与集成测试
- 03准备 GraalVM 原生映像
- 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