Если юзать спринг, то по большому счету 50% кода уже написано
. Управление жизненным циклом проекта, инит и дестрой бинов, спринг дао (orm или jdbc), spring oxm (xstream или jaxb), RMI или JMS взаимодействие, WS и тп... Кароче не нужно заморачиваться с великами ). Вопрос в быстродействии. Насклько быстро спринг достанет bean из контекста, чем вызов MyClass.getInstance()