Using DI to build customer specific internet offices with a single code base
summary
A reusable internet office for Swedish pension insurers is built as a modular Java 17 project that compiles one single code base into customer-specific builds by selecting modules at build time. It uses Spring Boot dependency injection (constructor injection, request-scoped proxies) plus patterns like conditional-on-property to swap DBs, Morningstar or BankID integrations, and default vs customer implementations. Tests include SpringBoot startup checks and customer flow suites; the approach proves maintainable and effective in production.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:58Customer specific offices
- 5:09Dependency injection basics
- 9:00Backend architecture with DI
- 14:04Spring Boot DI
- 18:40Java modules structure
- 23:37Module selection with properties
- 27:58Advanced DI techniques
- 30:46Automated testing with dependency injection
- 36:00Key takeaways
- 38:25Q&A
related talks
45mCode Once, Use Everywhere: Building a Shared Module used by Multiple Projects
49mDDD Strategic Design with Spring Boot
50mModern Java microservices in the Cloud
43mGoodbye Microservices, Hello Self-Contained Systems
37mAdvanced multi-platform dependency injection
32mLet's Build a Dependency Injection Framework
31mSharing is caring: Building a modern microservice architecture helps everyone get ahead
56mDI Frameworks – some hidden pearls
