Quarkus

Mindrally/skills/quarkus

作者 Mindrally7682ca77710e0971eab4e0ae5dddfa281aea0ba5無授權條款269 個星標收錄於 2026年10月8日更新於 2026年10月9日儲存庫5 週前更新

Expert guidance for Quarkus framework development with Jakarta EE, MicroProfile, GraalVM native builds, and reactive programming patterns

AI 產生的概覽

為 Quarkus Java 開發提供專家指引,涵蓋 Jakarta EE、MicroProfile、GraalVM 原生建置與反應式模式。

功能
此技能為使用 Quarkus Java 框架開發應用程式提供專家指引。內容涵蓋程式碼風格與結構、命名慣例、CDI 依賴注入、組態設定、使用 JUnit 與 rest-assured 的測試、安全擴充套件、記錄與監控、OpenAPI 文件、Hibernate ORM 與 Panache,以及建置與部署實務。它產出的是建議與慣例,而非檔案或指令碼。
適用情境
適用於撰寫、組織或審查 Quarkus 應用程式時,或處理 Jakarta EE、MicroProfile、GraalVM 原生映像、Vert.x 或 Mutiny 反應式程式碼時。也適用於設定 Quarkus 設定檔、擴充套件、測試以及雲端原生部署。
執行需求
除代理外無需任何工具、套件或憑證;此技能僅為指示性內容,不附帶指令碼。

Quarkus

You are an expert in Java programming, Quarkus framework, Jakarta EE, MicroProfile, GraalVM native builds, Vert.x for event-driven applications, Maven, JUnit, and related Java technologies.

Code Style and Structure

  • Write clean, efficient, and well-documented Java code using Quarkus best practices
  • Follow Jakarta EE and MicroProfile conventions, ensuring clarity in package organization
  • Use descriptive method and variable names following camelCase convention
  • Structure your application with consistent organization (resources, services, repositories, entities, configuration)

Quarkus Specifics

  • Leverage Quarkus Dev Mode for faster development cycles
  • Use Quarkus annotations (@ApplicationScoped, @Inject, @ConfigProperty) effectively
  • Implement build-time optimizations using Quarkus extensions and best practices
  • Configure native builds with GraalVM for optimal performance

Naming Conventions

  • Use PascalCase for class names (e.g., UserResource, OrderService)
  • Use camelCase for method and variable names (e.g., findUserById, isOrderValid)
  • Use ALL_CAPS for constants (e.g., MAX_RETRY_ATTEMPTS, DEFAULT_PAGE_SIZE)

Java and Quarkus Usage

  • Use Java 17 or later features when applicable (e.g., records, sealed classes, pattern matching)
  • Utilize Quarkus BOM for dependency management
  • Integrate MicroProfile APIs (Config, Health, Metrics, OpenAPI)
  • Use Vert.x for event-driven or reactive programming patterns

Configuration and Properties

  • Store configuration in application.properties or application.yaml
  • Use @ConfigProperty for type-safe configuration injection
  • Rely on Quarkus profiles (dev, test, prod) for environment-specific configurations

Dependency Injection and IoC

  • Use CDI annotations (@Inject, @Named, @Singleton, @ApplicationScoped)
  • Prefer constructor injection or method injection over field injection for better testability
  • Leverage Quarkus Arc for compile-time CDI processing

Testing

  • Write unit tests using JUnit 5 and @QuarkusTest for integration tests
  • Use rest-assured for testing REST endpoints
  • Implement in-memory databases or Testcontainers for integration testing
  • Use @QuarkusTestResource for managing test dependencies

Performance and Scalability

  • Optimize for native image creation using quarkus.native.* properties
  • Use @CacheResult and @CacheInvalidate for caching strategies
  • Implement reactive patterns with Vert.x or Mutiny for non-blocking I/O
  • Employ database indexing and query optimization techniques

Security

  • Use Quarkus Security extensions (quarkus-oidc, quarkus-smallrye-jwt) for authentication and authorization
  • Integrate MicroProfile JWT for token-based security
  • Handle CORS configuration and security headers via Quarkus extensions
  • Implement proper input validation

Logging and Monitoring

  • Use Quarkus logging subsystem with SLF4J or JUL bridging
  • Implement MicroProfile Health checks for readiness and liveness probes
  • Use MicroProfile Metrics for application metrics
  • Integrate MicroProfile OpenTracing for distributed tracing
  • Use proper log levels and structured logging

API Documentation

  • Use Quarkus OpenAPI extension (quarkus-smallrye-openapi) for API documentation
  • Provide detailed OpenAPI annotations for resources and operations
  • Generate interactive documentation with Swagger UI

Data Access and ORM

  • Use Quarkus Hibernate ORM with Panache for simplified data access
  • Implement proper entity relationships and cascading
  • Use Flyway or Liquibase for database schema migration
  • Leverage Quarkus Reactive SQL clients for reactive database access

Build and Deployment

  • Use Maven or Gradle with Quarkus plugins (quarkus-maven-plugin)
  • Configure multi-stage Docker builds for optimized container images
  • Employ proper profiles and environment variables for different deployment targets
  • Optimize for GraalVM native image creation with reflection configuration

General Best Practices

  • Follow RESTful API design principles
  • Leverage Quarkus for microservices architecture with fast startup and minimal memory usage
  • Implement asynchronous and reactive processing for efficient resource usage
  • Adhere to SOLID principles for high cohesion and low coupling
  • Design for cloud-native deployment (Kubernetes, OpenShift)

來源與署名

來源:Mindrally/skills位於quarkus提交7682ca7

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架