Skip to content
Code by Pawpu

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.

  1. 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.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Java Records for DTOs and Why Entities Are Not Records

    Immutable API shapes vs mutable persistence models.

    educational · intermediate · medium priority

  14. Spring Validation and Binding Errors That Reach the Client

    Bean Validation, @ControllerAdvice, and the field names clients can actually fix.

    educational · intermediate · medium priority

  15. 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

  16. Spring Actuator: Expose Health, Not Your Internals

    What belongs on a public health check versus a locked-down ops port.

    educational · intermediate · medium priority

  17. 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

  18. 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

  19. Checked Exceptions at Service Boundaries

    When wrapping is honesty, and when it is a stack trace laundry service.

    educational · intermediate · medium priority

  20. Fat JARs vs Layered Images in Spring Boot

    Cold start, cache layers, and what Docker actually invalidates.

    comparison · intermediate · medium priority

  21. Java Streams: When a for-loop Is the Senior Choice

    Readability, allocation, and the parallel() you should almost never add.

    comparison · intermediate · medium priority

  22. 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

  23. Memory Visibility in Java Without a PhD

    volatile, happens-before, and the flag another thread never sees.

    educational · senior · medium priority

  24. 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

  25. Senior-Level Java Service Boundaries

    Modules, packages, and the "utils" folder that became the real architecture.

    architecture · senior · medium priority