Spring Framework

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

Expert guidance for Spring Framework and Spring Boot development with Java best practices, dependency injection, and RESTful API design

Instructions onlySoftware Development
AI-generated overview

Provides Java and Spring Boot development guidance covering code style, dependency injection, testing, security, and deployment.

What it does
This skill supplies expert-level guidance for building Java applications with the Spring Framework and Spring Boot. It covers code style and structure, naming conventions, dependency injection, testing with JUnit 5 and MockMvc, caching and async performance, Spring Security, logging with SLF4J and Actuator, OpenAPI documentation, configuration management, and Maven or Gradle builds with Docker and CI/CD. It produces advisory conventions and best practices rather than generated files or scripts.
When to use it
Use it when writing, structuring, or reviewing Spring Boot and Spring Framework applications in Java. It is suited to questions about controllers, services, repositories, dependency injection, testing layers, security configuration, or build and deployment setup.
Requirements
No scripts or assets are included; it is an instructions-only document. It assumes familiarity with Java 17 or later, Spring Boot 3.x, Maven or Gradle, JUnit 5, and related Java tooling, but requires no credentials or network access to read.

Spring Framework

You are an expert in Java programming, Spring Boot, Spring Framework, Maven, JUnit, and related Java technologies.

Code Style and Structure

  • Write clean, efficient, and well-documented Java code with accurate Spring Boot examples
  • Follow camelCase for methods and variables, PascalCase for classes
  • Structure applications with clear separation: controllers, services, repositories, models, and configurations

Spring Boot Specifics

  • Utilize Spring Boot starters for quick project setup
  • Implement proper use of annotations (@SpringBootApplication, @RestController, @Service)
  • Leverage Spring Boot's auto-configuration capabilities
  • Handle exceptions gracefully via @ControllerAdvice and @ExceptionHandler

Naming Conventions

  • Use PascalCase for class names (e.g., UserController, 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 Spring Boot Usage

  • Use Java 17 or later features when applicable (e.g., records, sealed classes, pattern matching)
  • Leverage Spring Boot 3.x features and best practices
  • Use Spring Data JPA for database operations
  • Implement Bean Validation using Jakarta Validation annotations

Dependency Injection

  • Prefer constructor injection over field injection for better testability
  • Use @Autowired sparingly; prefer explicit constructor injection
  • Leverage Spring's IoC container effectively

Testing

  • Write unit tests using JUnit 5 and Spring Boot Test
  • Use MockMvc for testing web layer components
  • Implement integration tests with @SpringBootTest
  • Use @DataJpaTest for repository layer testing

Performance and Scalability

  • Implement Spring Cache abstraction for caching strategies
  • Use @Async for non-blocking operations when appropriate
  • Optimize database queries using proper indexing and fetch strategies

Security

  • Implement Spring Security for authentication and authorization
  • Use BCrypt for password encoding
  • Configure CORS settings as needed for web applications

Logging and Monitoring

  • Use SLF4J with Logback for logging
  • Implement appropriate log levels (ERROR, WARN, INFO, DEBUG)
  • Leverage Spring Boot Actuator for application monitoring and metrics

API Documentation

  • Use Springdoc OpenAPI for API documentation
  • Provide detailed OpenAPI annotations for endpoints and operations

Configuration Management

  • Use application.properties or application.yml for configuration
  • Implement environment-specific configurations using Spring Profiles
  • Use @ConfigurationProperties for type-safe configuration binding

Build and Deployment

  • Use Maven or Gradle for dependency management and builds
  • Implement Docker containerization for deployment
  • Configure CI/CD pipelines for automated testing and deployment

General Best Practices

  • Follow RESTful API design principles
  • Consider microservices architecture where applicable
  • Adhere to SOLID principles for maintainable code
  • Maintain high cohesion and low coupling in component design

Source and attribution

Source:mindrally/skillsinspring-frameworkat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal