Enterprise Spring Boot
Spring in large codebases: modularisation, transactions, security and observability.
This program is planned and not scheduled yet. No date, price or cohort has been announced. If you register interest, we contact you when it is scheduled or to discuss an individual format.
Objective
The program aims at using Spring Boot well from a small service up to a large, long-lived codebase. Configuration and modularisation, transactions and consistency, security with OAuth2/OIDC, API versioning and observability are studied as one whole. By the end, a participant can assess an existing Spring application and prepare an improvement plan.
Who it's for
- Middle-level developers working with Spring Boot who are responsible for a shared codebase
- People who want a deep rather than superficial grasp of Spring Security and OAuth2/OIDC
- Engineers who must upgrade an older Spring application safely
- Engineers building Spring depth for a senior backend role
Who it's not for
- Anyone meeting Spring Boot for the first time: the Java Backend Career Track fits better
- Those whose main goal is JVM and concurrency depth: Advanced Java Backend fits better
- Those focused on frameworks other than Spring (Quarkus, Micronaut)
Prerequisites
- Experience with a REST service in Spring Boot and Spring Data JPA
- Understanding of transactions and relational databases
- HTTP, JSON and basic authentication concepts
- Working with Maven or Gradle, and Git
What you will be able to do
What you will be able to do
- Split a large Spring application into modules with clear boundaries and manage their dependencies
- Predict @Transactional behaviour correctly (propagation, rollback, proxy limitations)
- Set up an OAuth2/OIDC resource server with Spring Security and apply method security
- Version an API while preserving backward compatibility and return errors in the RFC 9457 format
- Correlate metrics, traces and logs with Micrometer and OpenTelemetry
- Choose and apply timeouts, retries, circuit breakers and bulkheads deliberately
- Tune startup, memory and throughput based on measurements
- Prepare a step-by-step migration plan for a Spring Boot major upgrade
No education program can guarantee employment or a promotion.
Curriculum
Curriculum
- 01
Configuration and modularisation
Keeping the Spring container and configuration manageable as the codebase grows.
- Bean lifecycle and the auto-configuration mechanism
- @ConfigurationProperties and a profile strategy
- Spring Modulith or package-based module boundaries
- Dependency direction and removing cyclic dependencies
- Writing your own starter
Hands-on lab: Split a monolith into modules with clear boundaries and add a test that detects boundary violations automatically.
- 02
Transactions and consistency
What really happens behind the transaction annotation, and where it misleads.
- Proxy-based @Transactional and the self-invocation trap
- Propagation and rollback rules
- Isolation, optimistic and pessimistic locking
- The risk of external calls inside a transaction
- After-commit events (@TransactionalEventListener)
Hands-on lab: Reproduce a scenario where a partially successful operation leaves inconsistent state and fix the transaction boundary.
- 03
Spring Security, OAuth2 and OIDC
Building token validation and the authorisation model correctly on the resource-server side.
- Security filter chain and ordering
- OAuth2 resource server and JWT validation
- OIDC flows and token types
- Method security (@PreAuthorize) and the authority model
- CORS, CSRF and session policy
- Security testing
Hands-on lab: Build a JWT-protected resource server and verify role- and scope-based method security with tests.
- 04
API design and versioning
Practising how to evolve an API without breaking its consumers.
- Resource modelling and HTTP semantics
- Rules for backward-compatible change
- Comparing versioning approaches
- Error model with RFC 9457 problem details
- Checking against the OWASP API Security Top 10
- OpenAPI and contract tests
Hands-on lab: Change an existing endpoint without breaking consumers and prove compatibility with a contract test.
- 05
Observability
Making system behaviour visible by tying metrics, traces and logs together.
- Micrometer metrics and cardinality
- OpenTelemetry traces and context propagation
- Structured logs and correlation
- Health probes and securing Actuator
- Alerting based on SLIs/SLOs
Hands-on lab: Add tracing and metrics to a service and build a dashboard that follows one request from log line to trace.
- 06
Resilience and performance
Finding out how the system behaves when a dependency degrades and where the bottleneck sits.
- Timeout budgets, retries and backoff
- Circuit breakers and bulkheads (Resilience4j)
- Sizing connection and thread pools
- Caching: what, where and for how long
- Startup and memory tuning
Hands-on lab: Simulate a slow dependency and measure in a load test how the service behaves with timeouts and a circuit breaker.
- 07
Upgrade and migration strategy
Planning a major version change and gradual modernisation of old code with low risk.
- Reading release notes and migration guides
- Inventory of deprecated APIs
- Raising test coverage before the migration
- Staged rollout and a rollback plan
- Dependency compatibility and the Jakarta transition
Hands-on lab: Write a Spring Boot major-upgrade plan and risk register for a sample application and carry out its first stage.
Practice assignments
- An architecture test that checks module boundaries
- Reproducing and fixing a transaction bug
- An OAuth2 resource server with security tests
- A backward-compatible API change with a contract test
- A diagnosis report based on traces and metrics
Portfolio deliverables
- A sample application split into modules
- An OAuth2 resource server with security tests
- An observability dashboard and a short runbook
- A Spring Boot upgrade plan with a risk register
How learning is assessed
- Mentor code review
- Defense of security and transaction decisions
- A written presentation of the upgrade plan
- A practical diagnosis task
Tools and technologies
- Spring Boot 3
- Spring Security
- Spring Data JPA
- Micrometer
- OpenTelemetry
- Resilience4j
- Keycloak
- Testcontainers
- Prometheus and Grafana
- OpenAPI
Level progression
- Before
- Before: Advanced Java Backend, or middle-level experience with Spring Boot.
- After
- After: Microservices and Distributed Systems, System Design.
- Length and format
- Length and format are not set yet; the program is planned and not scheduled.
Frequently asked questions
Frequently asked questions
Is this program available now?
No. It is planned and not scheduled yet. No dates or prices have been announced. You can register interest or request a consultation.
Must I take Advanced Java Backend first?
It is not mandatory but recommended. If you have real Spring Boot experience and know JVM and JPA fundamentals, you can join directly. A consultation can help assess this together.
Do I need experience with Keycloak or another identity provider?
No, it is not required in advance. Knowing the basic concepts of authentication is enough; the OAuth2/OIDC flows are explained step by step in the program.
Does the program promise a certificate or a job?
No. No certificate or outcome is promised. Evaluation takes the form of mentor feedback and defenses and is a recommendation only.
Articles related to this program
- API securityAPI security for backend engineers with the OWASP API Security Top 10
- ObservabilityObservability: logs, metrics and traces
- Spring BootLayering a Spring Boot application: controller, service, repository
- Spring SecurityJWT or server sessions in Spring Security
- Transactions and consistencySpring @Transactional pitfalls: proxies, propagation and rollback rules
- Spring BootValidation and error responses in Spring Boot with ProblemDetail