Life with Spring Boot inside a Monorepo
summary
Salesforce centralizes hundreds of Spring Boot microservices in a single monorepo built with Bazel with rules_spring, enforcing a single-version policy so upgrades trigger coordinated rebuilds. Automation handles about 90% of dependency upgrades across roughly 1,400 dependencies and ~150–200 services; full repository build and validation runs about 10 hours but incremental builds for a single service take minutes. They provide base Docker images, duplicate-class and test-scope checks, vendoring for urgent patches, and remote caching to keep builds fast and hermetic.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 3:30Monorepo for Spring Boot
- 7:00Choosing Bazel
- 9:26Spring Boot Bazel plugin
- 10:31Dependency and image policies
- 12:39Continuous integration in the monorepo
- 14:07Managing libraries and users
- 14:52Developer fears of monorepos
- 15:35Migrating Maven to Bazel
- 17:01Handling dependencies and upgrades
- 19:26Vendoring vulnerabilities
- 20:10Spring Boot 2 to 3 upgrades
- 22:37Demos of Bazel setup
- 24:46Bazel caching and builds
- 26:43Dependency exclusion checks
- 31:09Summary and governance
- 33:45Q&A
related talks
46mBuilding on spring boot lastminute.com microservices way
42mMake local development (with Bazel) great again!
11mPerformant Bazel Builds for Web Monorepos at Scale
45mBootiful Spring Boot 3.x
56mBuilding a Framework on top of Spring Boot
47mWhy your shared libraries are ill - and how to cure them
38mWhat Is Spring?
42mCollaboration when developing Spring Boot Microservices
