Spring Boot Skill
Apply the practices below when developing Spring Boot applications. Read the linked reference only when working on that area.
Maven pom.xml Configuration
Read [references/spring-boot-maven-config.md](references/spring-boot-maven-config.md) for Maven pom.xml configuration with supporting plugins and configurations to improve code quality, and testing.
Package structure
Read [references/code-organization.md](references/code-organization.md) for domain-driven, module-based package layout and naming conventions.
Spring Data JPA
Implement the repository and entity layer using [references/spring-data-jpa.md](references/spring-data-jpa.md).
Service layer
Implement business logic in the service layer using [references/spring-service-layer.md](references/spring-service-layer.md).
Spring MVC REST APIs
Implement REST APIs with Spring MVC using [references/spring-webmvc-rest-api.md](references/spring-webmvc-rest-api.md).
Spring Modulith
Build a modular monolith with Spring Modulith using [references/spring-modulith.md](references/spring-modulith.md).
Thymeleaf
If Thymeleaf is used for view templates, refer [references/thymeleaf.md](references/thymeleaf.md)
REST API Testing
If building a REST API using Spring WebMVC, test Spring Boot REST APIs using [references/spring-boot-rest-api-testing.md](references/spring-boot-rest-api-testing.md).
Web App Controller Testing
If building a web application using view rendering controllers, test the controller layer using [references/spring-boot-webapp-testing-with-mockmvctester.md](references/spring-boot-webapp-testing-with-mockmvctester.md).
Write ArchUnit Tests
To write tests for testing the architecture using ArchUnit, refer [references/archunit.md](references/archunit.md)
Spring Boot Docker Compose Support
To use Docker Compose support for local development, refer [references/spring-boot-docker-compose.md](references/spring-boot-docker-compose.md).
Taskfile
Use [references/taskfile.md](references/taskfile.md) for easier commands execution.