Навіщо використовувати spring stack overflow російською
Основна перевага Spring'а - можливість розробки програми як набору слабосвязанних (loose-coupled) компонентів. Чим менше компоненти програми знають один про одного, тим простіше розробляти новий і підтримувати існуючий функціонал додатка. Класичний приклад - управління транзакціями. Spring дозволяє вам керувати транзакціями абсолютно незалежно від основної логіки взаємодії з БД. Зміна цієї логіки не порушить транзакційність, так само як зміна логіки управління транзакціями не зламав логіку програми *. Spring заохочує модульність. Компоненти можна додавати і видаляти (майже) незалежно один від одного. В принципі, додаток можна розробити таким чином, що воно навіть не буде знати, що управляється Spring'ом *. Також Spring помітно спрощує модульне тестування (unit-testing): в компонент, розроблений для роботи в IoC контейнері дуже легко инжектировать фейковий залежності і перевірити роботу тільки цього компонента. Ну, і як приємне доповнення, Spring сильно полегшує ініціалізацію і настройку компонентів додатка, дозволяючи гнучко налаштовувати додаток без істотних змін Java-коду *.
- Заохочення слабку зв'язаність компонентів, і, як наслідок.
- . спрощення ініціалізації і налаштування компонентів,
- . спрощення модульного тестування,
- . спрощення розробки та підтримки програми в цілому.
* Новомосковськ ці пропозиції, робіть знижку на рівень професіоналізму програмістів, що використовують фреймворк. Завжди можна щось зламати або неоптимально організувати, але в умілих руках Spring вельми ефективний.