Spring Boot
Enterprise Spring Boot services with REST, JPA, security, and AWS deployment.
Spring Boot is my go-to when a client needs the maturity, ecosystem, and operational predictability of the JVM. I have shipped Spring Boot REST APIs, scheduled batch jobs, Spring Security-protected modules, and JPA-backed data layers on PostgreSQL and MySQL for clients in real-estate, compliance, and manufacturing.
How I work with Spring Boot
I picked up Spring Boot when a real-estate client standardized on the JVM for their backend. The convention-over-configuration model meant I could be productive within days, and the ecosystem (Spring Data, Spring Security, Actuator) covered most cross-cutting concerns out of the box.
Across multiple projects I have built layered Spring Boot services — controllers, services, repositories — with DTO mapping, validation, centralized exception handling via @ControllerAdvice, and JWT-based stateless auth using Spring Security filters.
I have also operationalized those services: Maven multi-module builds, Dockerized JARs, deployment on AWS EC2 behind NGINX, and Actuator endpoints wired into health checks. Spring Boot is where I lean when the brief is 'reliable, boring, and built to last.'
Spring Boot across business domains
Built listing-search APIs and agent CRM endpoints on Spring Boot + PostgreSQL with JPA Specifications for dynamic filtering.
Implemented the audit + reporting service in Spring Boot, with scheduled jobs generating compliance reports and emailing them to officers.
Delivered workflow-automation REST APIs and integration endpoints connecting shop-floor systems with the central platform.
Built dealership inventory management endpoints with role-based access via Spring Security and external integrations.
Real issues I resolved using Spring Boot
Eliminated N+1 query storms in a JPA-heavy dashboard
A dealership dashboard was firing 400+ SQL queries per page-load because JPA was lazy-loading every association in a loop.
Switched the hot read paths to JPQL fetch joins, added entity graphs for the dashboard query, and enabled hibernate statistics in staging to catch regressions in CI.
Page load dropped from ~4.2s to ~480ms, database CPU dropped sharply, and we avoided scaling the RDS instance.
Stateless JWT auth replacing a fragile session setup
The original app used server-side sessions tied to a single instance — horizontal scaling broke logins and required sticky sessions on the load balancer.
Implemented a stateless JWT filter in Spring Security with refresh tokens stored in Redis, plus role-based @PreAuthorize annotations on controllers.
Horizontal scaling became trivial, sticky sessions were removed from the ALB, and auth latency improved because Redis lookups beat the session-store DB hits.
Made deployments boring with Actuator + Docker
Production rollouts depended on manual JAR drops to EC2 and informal smoke tests. Outages went unnoticed for minutes.
Containerized the Spring Boot service with a multi-stage Dockerfile, exposed Actuator health/liveness/readiness endpoints, wired them into NGINX upstream health checks, and added GitHub Actions for build + image push.
Rollouts became repeatable, bad deploys were caught by health checks before traffic shifted, and mean-time-to-detect for backend issues dropped to seconds.
Often used together
Have a Spring Boot project in mind?
I am open to full-time and contract work where Spring Bootis core to the stack. Let's talk about what you are building.