Backend
Java / Spring Boot
Service boundaries, transactions, and Spring Boot defaults that matter in production.
Java · Spring Boot · 0 published · 25 in the review queue. Written by Al Beltran.
- No reviewed articles in this pillar yet. The queue below is the plan.
Review queue
Planned notes stay unpublished until they are written and reviewed. Titles are listed so the topic map is complete. They are not pages.
Spring Boot Interview Questions, With the Reasoning
Beans, transactions, web, and data — what a strong answer names and what a weak one waves at.
interview · mixed · high priority
Java Interview Questions, With the Reasoning
Equals, concurrency, collections, and the memory model questions that are not trivia if you run services.
interview · mixed · high priority
Spring Bean Scopes That Actually Matter
Singleton vs request vs prototype, and the injected singleton that accidentally shares a request field.
educational · intermediate · medium priority
Where @Transactional Should Sit (and Where It Silently Does Nothing)
Self-invocation, read-only, propagation, and the service method that never opened a transaction.
troubleshooting · intermediate · medium priority
Spring REST Exception Handling That Stays Stable
Problem details, mapped exceptions, and the catch-all that hides a 500 as a 200.
educational · intermediate · medium priority
Spring Data N+1: See It, Then Fetch Join or Redesign
Lazy collections in a loop, entity graphs, and when a query DTO is the real fix.
troubleshooting · intermediate · medium priority
The Spring Security Filter Chain as a Product Decision
What runs before the controller, how to fail closed, and the permitAll you added for a health check.
architecture · senior · medium priority
equals and hashCode: The Contract That Breaks HashMaps
Mutability, identity vs value, and JPA entities that should not be map keys.
educational · intermediate · medium priority
Optional as a Return Type, Not a Field Type
When Optional communicates absence, and when it is a null with extra steps.
educational · intermediate · medium priority
Spring Profiles and Config That Do Not Surprise Production
What is allowed to differ by env, and the default that silently used H2 in prod once.
troubleshooting · intermediate · medium priority
Java Concurrency for Request-Scoped Services
Shared mutability, thread pools, and the work that should not sit on a Tomcat thread.
educational · senior · medium priority
Spring Test Slices: @WebMvcTest vs the Full Context
Faster tests, honest boundaries, and the slice that mocks the thing you meant to test.
educational · intermediate · medium priority
Java Records for DTOs and Why Entities Are Not Records
Immutable API shapes vs mutable persistence models.
educational · intermediate · medium priority
Spring Validation and Binding Errors That Reach the Client
Bean Validation, @ControllerAdvice, and the field names clients can actually fix.
educational · intermediate · medium priority
JPA Entities Are Not Your Domain Model (Usually)
When a dedicated domain type is worth the mapping, and when anemic entities are honest enough.
architecture · senior · medium priority
Spring Actuator: Expose Health, Not Your Internals
What belongs on a public health check versus a locked-down ops port.
educational · intermediate · medium priority
GC Basics for People Who Run JVM Services
Allocation, pause, and the heap flag you copied from a blog in 2018.
informational · intermediate · medium priority
Spring @Async and the Executor You Forgot to Name
Default pools, rejected execution, and work that still runs on the request thread.
troubleshooting · intermediate · medium priority
Checked Exceptions at Service Boundaries
When wrapping is honesty, and when it is a stack trace laundry service.
educational · intermediate · medium priority
Fat JARs vs Layered Images in Spring Boot
Cold start, cache layers, and what Docker actually invalidates.
comparison · intermediate · medium priority
Java Streams: When a for-loop Is the Senior Choice
Readability, allocation, and the parallel() you should almost never add.
comparison · intermediate · medium priority
Spring Cache Pitfalls: Keys, Eviction, and Local vs Shared
A local cache that lies in a two-instance deploy, and the key that ignored the tenant.
troubleshooting · intermediate · medium priority
Memory Visibility in Java Without a PhD
volatile, happens-before, and the flag another thread never sees.
educational · senior · medium priority
OpenAPI Contracts in Spring: Generate or Write, Pick One Source
Code-first vs contract-first, and the drift that breaks the mobile client.
architecture · intermediate · medium priority
Senior-Level Java Service Boundaries
Modules, packages, and the "utils" folder that became the real architecture.
architecture · senior · medium priority