~/talk

Maintain Social Distance this Spring

Talkat GeeCON 2023 · 2023-04-19..04-21· [databases]
slides:none on file

Argues that opinionated Java frameworks inject costly magic — runtime reflection, classpath scanning, proxies and auto‑configuration — and shows real failures: @Transactional on private method fails and self‑invocation bypasses proxies, H2 auto‑configured into production, Hibernate sequence deadlock and vanished metrics. Demonstrates practical mitigations: use TransactionTemplate instead, separate persistence/domain models, constructor wiring, jdbi/JdbcTemplate or Spring Data JDBC, hexagonal architecture, dev in‑memory profiles, and an Axon+Kafka routing workaround that replaces framework ownership with simple mapping. Shows code patterns and migration tactics.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:10Frameworks and their promises
  3. 3:21Frameworks vs libraries
  4. 6:33Leaky abstractions in frameworks
  5. 13:54Problems with leaky abstractions
  6. 16:01Transactional annotation issues
  7. 18:50Simpler alternatives to annotations
  8. 20:40Overusing dependencies in Spring
  9. 22:30Zero dependencies approach
  10. 23:54ORM and domain persistence issues
  11. 28:51Separating domain and persistence models
  12. 31:20Reducing Spring's invasiveness
  13. 34:51Testing without Spring context
  14. 36:39Long-term software maintenance
  15. 38:02Coupling and cohesion in code
  16. 40:47Hexagonal and clean architecture
  17. 44:34Real-world framework adaptation
  18. 48:28Lightweight alternatives like Ratpack
  19. 49:53Context matters in tool selection
~/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.