Я пишу корпоративные Java-приложения и веб-сервисы на работе ( Spring , Hibernate, Maven, RESTEasy) и PHP (CakePHP) и Python (Django) для своих сторонних проектов.
Хотя я вижу ценность, которую привносит Spring в Inversion of Control, Aspect Oriented Programming и т. Д., Я не уверен, как массивные веб-приложения, не входящие в стек Java, обходятся без такой среды, как Spring.
Итак, нужно ли разработчикам просто «мириться» с тесно связанными компонентами и другими обидами, которые устраняет Spring, или я что-то упускаю?
Для тех, кто не знаком с Spring, мы чаще всего используем следующие функции:
Контейнер «Инверсия»: настройка компонентов приложения и управление жизненным циклом объектов Java,
Аспектно-ориентированное программирование: позволяет реализовать сквозные процедуры,
Управление транзакциями: объединяет несколько API-интерфейсов управления транзакциями и координирует транзакции для объектов Java.