back
loading skill details...
>
Spring Boot Application
Table of Contents
Overview
When to Use
Quick Start
Reference Guides
Best Practices
Overview
Develop production-ready Spring Boot applications with proper annotation-based configuration, dependency injection, REST controllers, JPA data persistence, service layers, and security implementation following Spring conventions.
When to Use
Building Spring Boot REST APIs
Implementing service-oriented architectures
Configuring data persistence with JPA
Managing dependency injection
Implementing Spring Security
Building microservices with Spring Boot
Quick Start
Minimal working example:
<!-- pom.xml -->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>api-service</artifactId>
<version>1.0.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.0</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
Guide
Contents
Spring Boot Project Setup
Spring Boot Project Setup
Entity Models with JPA Annotations
Entity Models with JPA Annotations
Repository Layer with Spring Data JPA
Repository Layer with Spring Data JPA
Service Layer with Business Logic
Service Layer with Business Logic
REST Controllers with Request/Response Handling
REST Controllers with Request/Response Handling
Spring Security Configuration
Spring Security Configuration
Application Configuration
Application Configuration
Best Practices
✅ DO
Use dependency injection for loose coupling
Implement service layer for business logic
Use repositories for data access
Leverage Spring Security for authentication
Use @Transactional for transaction management
Validate input in controllers
Return appropriate HTTP status codes
Use DTOs for request/response mapping
Implement proper exception handling
Use Spring's @Async for async operations
❌ DON'T
Put business logic in controllers
Access database directly in controllers
Store secrets in configuration files
Use eager loading for large relationships
Ignore transaction boundaries
Return database entities in API responses
Implement authentication in controllers
Use raw SQL without parameterized queries
Forget to validate user input
1d:[don't have the plugin yet? install it then click "run inline in claude" again.