Spring is paradoxical.
It “solves” problems it created — and trained a generation of developers to understand Spring, not software engineering.

Dependency Injection everywhere (even when there’s 1 implementation).
Interfaces for everything (even when there’s 1 implementation).
Annotations as the new programming language.
And @Transactional as a...