~/talk

Code Once, Use Everywhere: Building Shared Libraries for Multiple Projects

Talkat Spring I/O 2025 · 2025-05-22..05-23· [java, developer-experience]
slides:none on file

Built a shared Java library called Java lips that supports Spring Boot across multiple projects and runs in production for over three years, organized as core/spring/autoconfigure/starter modules so teams can opt into features. Uses editorconfig, Checkstyle, Error Prone, ArcUnit and Snyk scans, optional dependencies in auto-configuration, conditional beans and test/fallback beans, CI-driven patch IDs and simple changelog. Two reference projects run on every change and catch regressions; the approach reduces duplication but enforces high-quality, well-documented, minimal shared code.

AI-written summary · about

  1. 0:00Introduction
  2. 3:31When to share code
  3. 5:19What not to include
  4. 9:41Structuring shared libraries
  5. 13:31Module design principles
  6. 18:27Auto-configuration and beans
  7. 24:53Enforcing code quality
  8. 28:47Writing documentation
  9. 32:17Making changes and releases
  10. 36:58Versioning strategy
  11. 39:23Testing with reference projects
  12. 40:03Forcing vs advertising
  13. 42:14Key takeaways and final recommendations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.