Java Spring Development

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

Java Spring Boot development guidelines with best practices for building robust, secure, and maintainable enterprise applications

AI 產生的概覽

提供建構 Java Spring Boot 企業級應用程式的最佳實務開發指南。

功能
此技能提供一套 Java Spring Boot 開發指南,涵蓋專案結構、相依性注入、REST API 設計、資料存取、安全性、測試、效能、日誌、監控與 API 文件。它僅包含說明性內容,產出的是指引而非程式碼或檔案。它建議採用 Spring Boot 3.x 與 Java 17+ 特性以及分層架構。
適用情境
在撰寫、審查或組織 Java Spring Boot 應用程式,並希望維持一致慣例時使用。適合涉及 JPA、Spring Security、測試、快取與監控的企業級 API 工作。它不是產生或執行程式碼的工具。
執行需求
除代理程式外無需其他條件;不隨附指令碼,也不需要套件、憑證或網路存取。

Java Spring Development Best Practices

Core Principles

  • Write clean, efficient, and well-documented Java code with accurate Spring Boot examples
  • Use Spring Boot 3.x with Java 17+ features (records, sealed classes, pattern matching)
  • Prefer constructor injection over field injection for better testability
  • Follow SOLID principles and RESTful API design patterns
  • Design for microservices architecture suitability

Project Structure

Organize code using the standard layered pattern:

project/├── controllers/     # REST controllers├── services/        # Business logic├── repositories/    # Data access layer├── models/          # Domain entities and DTOs└── configurations/  # Spring configurations

Dependency Injection

  • Use constructor injection for required dependencies
  • Leverage @RequiredArgsConstructor with Lombok for cleaner code
  • Keep constructors simple and avoid logic in them
  • Use @Qualifier when multiple implementations exist

REST API Design

  • Use appropriate HTTP methods (GET, POST, PUT, DELETE, PATCH)
  • Return proper HTTP status codes
  • Implement consistent error response format
  • Use DTOs to control API contract
  • Version APIs when needed

Data Access

Spring Data JPA

  • Define proper entity relationships (@OneToMany, @ManyToOne, etc.)
  • Use lazy loading appropriately to avoid N+1 queries
  • Implement pagination for large result sets
  • Use query methods and @Query for custom queries

Database Migrations

  • Use Flyway or Liquibase for schema migrations
  • Version migration scripts properly
  • Never modify existing migrations
  • Test migrations in development before production

Security

Spring Security

  • Implement authentication and authorization properly
  • Use BCrypt for password encoding
  • Configure CORS appropriately
  • Protect endpoints based on roles/permissions
  • Use HTTPS in production

Secure Coding

  • Validate all user inputs
  • Sanitize data to prevent injection attacks
  • Avoid exposing sensitive information in responses
  • Use parameterized queries

Testing

Unit Testing

  • Use JUnit 5 for unit tests
  • Mock dependencies with Mockito
  • Test business logic thoroughly
  • Follow Given-When-Then pattern

Integration Testing

  • Use @SpringBootTest for integration tests
  • Use MockMvc for web layer testing
  • Test database operations with test containers
  • Test security configurations

Performance

Caching

  • Use Spring Cache abstraction
  • Configure appropriate cache providers (Redis, Caffeine)
  • Set proper TTL for cached data
  • Implement cache eviction strategies

Async Processing

  • Use @Async for non-blocking operations
  • Configure thread pools appropriately
  • Handle exceptions in async methods
  • Consider using reactive patterns for high concurrency

Logging and Monitoring

Logging

  • Use SLF4J with Logback
  • Log at appropriate levels
  • Include correlation IDs for tracing
  • Avoid logging sensitive data

Monitoring

  • Use Spring Boot Actuator for health and metrics
  • Export metrics to monitoring systems
  • Set up proper health checks
  • Monitor application performance

API Documentation

  • Use Springdoc OpenAPI for API documentation
  • Document all endpoints with descriptions
  • Include request/response examples
  • Keep documentation up to date with code

來源與署名

來源:mindrally/skills位於java-spring-development提交9718410

授權條款: 無授權條款

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

檢舉或申請下架