спринг позволяет не пердолиться с архитектурой, а просто зафигачить все в бинконтекст, и потом автовайрить филды куда угодно.
причем их можно оборачивать в прокси произвольное количетсво раз, добавляя фукнциональность с помощью аспектов и прочих таких штук
GC навсегда решил проблему с удалением объектов, не нужно как в С++ пердолиться с delete
Spring навсегда решил проблему с созданием объектов
по сути, ты работаешь с объектом только тогда, когда он нужен. Откуда он берется и куда уйдет в небытие - это уже не твои проблемы, это автоматика
причем эти объекты можно добавлять даже не вручную, а добавлением пакетов в Maven (или опций этих пакетов)
+