Framework
Spring Boot Production APIs
Spring Boot speeds up building APIs and services using sensible defaults, auto-configuration, and a large ecosystem.
From scratch
- 1 Create project (Maven/Gradle), add Spring Web.
- 2 Create controller → service → repository layers.
- 3 Add configuration profiles for dev/staging/prod.
@RestController
+class HealthController {
+ @GetMapping("/health")
+ Map<String,String> health(){
+ return Map.of("status","ok");
+ }
+}
Advanced
- 1 Spring Security (JWT/session, roles, method security).
- 2 Observability: logs + metrics (Micrometer) + tracing.
- 3 Resilience: timeouts, retries, circuit breakers.
ORM
Hibernate JPA Persistence
Hibernate maps Java objects to database tables. It’s usually used through JPA annotations and repositories.
Core steps
- 1 Model entities with annotations.
- 2 Use migrations (Flyway/Liquibase) for schema changes.
- 3 Tune queries and indexes for performance.
⚠️
Watch out for N+1 queries. Use fetch joins, batching, and caching when needed.
Framework
Struts Legacy MVC
Struts appears in older enterprise apps. If you maintain one, focus on stability, security patches, and gradual refactors.
Modernization path
- 1 Move business logic into services (thin controllers).
- 2 Add tests around critical flows.
- 3 Gradually replace UI/API layers.
Framework
Play Framework Async-first
Play is modern and reactive-friendly (Java/Scala). It’s useful for high-throughput services and streaming workloads.
Key ideas
- 1 Non-blocking IO patterns.
- 2 Routing configuration + controllers.
- 3 Integration testing at the HTTP layer.
Framework
JSF Server UI
JSF is a component-based server-side UI framework. Common in corporate apps with template-driven pages.
What to learn
- 1 JSF lifecycle (restore view → render response).
- 2 Managed beans + templates.
- 3 State management + performance tuning.