Skip to main content
DevScallix

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

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

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

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

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

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

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

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

Register interest

This is not an application and creates no payment obligation. We contact you when the program is scheduled or to discuss a format that suits you.

How should we contact you?