Навіщо використовувати spring stack overflow російською

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

  • Заохочення слабку зв'язаність компонентів, і, як наслідок.
    • . спрощення ініціалізації і налаштування компонентів,
    • . спрощення модульного тестування,
    • . спрощення розробки та підтримки програми в цілому.

* Новомосковськ ці пропозиції, робіть знижку на рівень професіоналізму програмістів, що використовують фреймворк. Завжди можна щось зламати або неоптимально організувати, але в умілих руках Spring вельми ефективний.