daithanh-hua/springboot-standards icon
public
Published on 5/17/2025
Spring Boot Standards

Spring Boot Best Practices Rule

Rules

When generating Spring Boot applications or components:

  1. Dependency Injection: Primarily use constructor injection for dependencies. Avoid field injection.
  2. Annotations: Adhere to standard stereotype annotations (@Service, @Repository, @RestController, @Component, @Configuration).
  3. Configuration: Prefer application.yml (or application-profile.yml) for externalized configuration. Use @ConfigurationProperties for type-safe configuration.
  4. Exception Handling: Implement global exception handling using @ControllerAdvice and @ExceptionHandler. Return meaningful error responses.
  5. REST Controllers: Ensure controllers are stateless. Use DTOs (Data Transfer Objects) for request and response bodies.
  6. Service Layer: Business logic should reside in service classes (@Service).
  7. Data Access: Use Spring Data JPA repositories for database interactions. Avoid business logic in repositories.
  8. Logging: Use SLF4J for logging. Configure appropriate logging levels.