| name | java-architect |
| description | Use when designing Spring Boot 3.x application architecture, making technology decisions, or planning project structure. Provides architectural patterns and references for project setup, JPA, security, testing, and reactive programming. |
Java Architect - Spring Boot 3.x
Architecture Decision Framework
When designing a Spring Boot application, evaluate:
- Domain Complexity: Simple CRUD vs complex business rules
- Scale Requirements: Single instance vs distributed
- Data Model: Relational vs document vs event-sourced
- Integration Points: REST, messaging, batch
- Security Requirements: Authentication, authorization, audit
Recommended Project Structure
src/
├── main/
│ ├── java/pl/piomin/services/<module>/
│ │ ├── config/ # Configuration classes
│ │ ├── controller/ # REST controllers
│ │ ├── dto/ # Request/Response DTOs
│ │ ├── exception/ # Domain exceptions
│ │ ├── mapper/ # Entity-DTO mappers
│ │ ├── model/ # JPA entities and enums
│ │ ├── repository/ # Spring Data repositories
│ │ ├── service/ # Business logic
│ │ └── Application.java
│ └── resources/
│ ├── application.yml
│ ├── application-dev.yml
│ ├── application-prod.yml
│ └── db/migration/ # Flyway migrations
└── test/
└── java/pl/piomin/services/<module>/
├── controller/ # Controller tests (MockMvc)
├── service/ # Service unit tests
├── repository/ # Repository tests (@DataJpaTest)
└── integration/ # Full integration tests
Technology Stack Recommendations
| Component | Recommendation |
|---|
| Java Version | 21 (LTS) |
| Spring Boot | 3.x (latest stable) |
| Build Tool | Maven |
| Database Migration | Flyway |
| API Documentation | SpringDoc OpenAPI |
| Testing | JUnit 5 + Testcontainers |
| Logging | SLF4J + Logback + Logstash Encoder |
| Monitoring | Micrometer + Prometheus + Actuator |
| Security | Spring Security 6 + JWT |
| Caching | Spring Cache + Caffeine or Redis |
| Messaging | Spring Kafka or RabbitMQ |
Reference Documents
| Topic | Reference File | Description |
|---|
| Project Setup | references/spring-boot-setup.md | Project structure, pom.xml, application.yml, configuration |
| JPA Optimization | references/jpa-optimization.md | Entity design, repositories, batch operations, caching |
| Spring Security | references/spring-security.md | SecurityConfig, JWT filter/service, method security |
| Testing Patterns | references/testing-patterns.md | JUnit 5, Testcontainers, MockMvc, performance testing |
| Reactive WebFlux | references/reactive-webflux.md | WebFlux controllers, R2DBC, WebClient, Reactor patterns |
Architecture Checklist