Skip to content
Agencei

Expertise

Spring Boot expertise: production-ready Java APIs and microservices

Spring Boot is the most widely adopted Java framework for building APIs and backend services. Version 3 is built on Spring Framework 6, Java 17 minimum and Jakarta EE, and natively integrates observability (Micrometer, tracing), GraalVM native compilation and virtual thread support.

Agencei uses Spring Boot to develop REST APIs, microservices, SaaS backends and management applications, with Spring Security for authentication, Spring Data for data access and Spring Batch for processing.

This expertise suits companies that want a structured backend, aligned with Java best practices, easy to test and deploy, and that other teams can maintain without surprises, whether it powers a web application, a mobile app or an internal tool.

Use cases

Documented REST APIs

Versioned controllers, Bean Validation, generated OpenAPI documentation and contract tests for web and mobile consumers.

SaaS product backend

Multi-tenancy by schema or by column, subscription management, outgoing webhooks and asynchronous task queues.

Microservices

Split by business domain, communication through REST or messaging, centralised configuration and resilience with Resilience4j.

Authentication and authorisation

Spring Security with OAuth2 and OpenID Connect, an authorisation server or integration with Keycloak, Cognito or Entra ID, fine-grained permissions per resource.

Scheduled and batch processing

Spring Batch and scheduling for imports, exports, billing and synchronisation with third-party systems.

Spring Boot 2 to 3 migration

Moving to Jakarta EE, upgrading Spring Security and Hibernate 6, adapting properties and tests.

Project types

  • REST API for a web or mobile app
  • Multi-tenant SaaS backend
  • Microservices architecture
  • OAuth2 authorisation server
  • Internal management application
  • Spring Boot 2 to 3 migration
  • ERP or payment integration

Integration with the rest of the stack

  • Spring Boot + PostgreSQL + Flyway

    Spring Data JPA or jOOQ for queries, Flyway for versioned schema migrations that replay identically on every environment.

  • Spring Boot + React or Next.js

    The API exposes an OpenAPI contract from which the frontend's TypeScript types are generated, removing client-server drift.

  • Spring Boot + Docker + Kubernetes

    Images built with Buildpacks or Jib, liveness and readiness probes through Actuator, configuration via ConfigMaps and Secrets.

  • Spring Boot + AWS

    Deployment on ECS or EKS, RDS PostgreSQL database, secrets in Secrets Manager, SQS queues and S3 storage through Spring Cloud AWS.

  • Spring Boot + Kafka

    Kafka producers and consumers for event-driven architectures, with Avro or JSON serialisation and replay handling.

Examples of problems solved

N+1 queries in a Spring Data repository

Detection through SQL logs or Hypersistence, fixes with EntityGraph, fetch joins or DTO projections, and a guard test on the query count.

Transactions that do not apply

Diagnosing internal calls that bypass the @Transactional proxy, checked exceptions that do not roll back and poorly chosen propagation settings.

Exhausted HikariCP connection pool

Analysing long transactions, connections held outside a transaction (Open Session in View) and tuning pool sizes and timeouts.

Slow API with no clear indicator

Setting up Micrometer, OpenTelemetry tracing and dashboards to pinpoint latency between the database, third-party calls and serialisation.

Spring Boot 3 migration breaking security

Rewriting the Spring Security configuration in lambda style, replacing WebSecurityConfigurerAdapter and verifying CORS and CSRF filters.

Frequently asked questions

Is Spring Boot still relevant compared with newer frameworks?

Yes. Spring Boot 3 has integrated observability, native compilation and virtual threads. It retains the largest Java ecosystem, exhaustive documentation and careful backward compatibility.

How do you secure a Spring Boot API?

With Spring Security: OAuth2 or OpenID Connect authentication, locally validated JWTs, method- or resource-level authorisation, security headers and rate limiting depending on the context.

What testing strategy do you apply?

Unit tests on the domain, slice tests (WebMvcTest, DataJpaTest) and integration tests with Testcontainers against a real PostgreSQL database, all run in CI.

Should we start with microservices?

Rarely from day one. A well-structured modular Spring Boot monolith is simpler to operate. We split into services when team, load or deployment needs justify it.

Does Spring Boot run well in containers?

Yes. Layered images, Actuator probes and GraalVM native compilation allow lightweight containers that start quickly and are easy to monitor on Kubernetes or ECS.

Tell us about your project

Describe your need in a few lines: we come back to you with a first analysis and the next steps.