~/talk

A Long Spring: 19 Years of Living with Your Past Mistakes

Talkat GOTO Copenhagen 2025 · 2025-09-29..10-03· [java, software-architecture]
slides:none on file

Spring MVC evolves from XML to annotation-based controllers to a functional DSL that reunites behavior and data, and the framework chooses bubble sort for media-type selection because media types form a partial order, not a comparator-friendly total order. HTTP clients move from a bloated RestTemplate (now rest template deprecated in Spring 7) to a staged RestClient/WebClient builder that prevents invalid state and fixes URI double-encoding by offering string and java.net.URI forms. A long-lived bug — the HTTP method enum->class change — finally allows nonstandard methods after a five-year struggle.

AI-written summary · about

  1. 0:00Intro
  2. 2:10Anecdote: Academic background
  3. 4:35Web controllers
  4. 11:37Anecdote: Bubble sort in Spring MVC
  5. 16:16HTTP clients
  6. 20:05Anecdote: URI methods
  7. 23:11Anecdote: 5 years to fix a mistake
  8. 30:07Closing thoughts
  9. 35:58Outro
~/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.