Spring Framework

Програмний каркас на Java

Spring Framework — це програмний каркас (фреймворк) з відкритим кодом та контейнери з підтримкою інверсії керування для платформи Java.

Spring Framework
Тип Application framework
Розробник VMware
Перший випуск 1 жовтня, 2002; 21 рік тому (2002-10-01)
Стабільний випуск 6.0.7[1] (20 березня 2023; 12 місяців тому (2023-03-20))
Нестабільний випуск 5.0.0 M1 (6 квітня 2016; 8 років тому (2016-04-06))
Платформа Java EE
Операційна система Багатоплатформність
Мова програмування Java
Стан розробки Active
Ліцензія Apache License 2.0
Репозиторій github.com/spring-projects/spring-framework
Вебсайт spring.io/projects/spring-framework

Основні особливості Spring Framework можуть бути використані будь-яким застосунком Java, але є розширення для створення вебдодатків на платформі Java EE. Попри це, Spring Framework не нав'язує якоїсь конкретної моделі програмування, Spring Framework став популярним у спільноті Java як альтернатива, або навіть доповнення моделі Enterprise JavaBean (EJB).

Історія версій ред.

Версія Дата
0.9 2003
1.0 24 березня, 2004
2.0 2006
3.0 2009
4.0 2013
5.0 2017
6.0 16 листопада, 2022

Модулі ред.

Spring Framework складається з кількох модулів, які надають широкий спектр послуг:

  • Контейнер інверсії керування: Конфігурація компонентів застосунків і керування життєвим циклом об'єктів Java, здійснюється головним чином через інверсію керування
  • Аспектно-орієнтоване програмування: дозволяє реалізувати наскрізні процедури
  • Доступ до даних: робота з реляційною системою управління базами даних на платформі Java з використанням JDBC і об'єктно-реляційні відображення та інструментів з NoSQL баз даних
  • Управління транзакціями: об'єднує кілька API, управління транзакціями та координує операції для Java-об'єктів
  • Модель-Вигляд-Управління (Model-View-Controller): програмний каркас на основі HTTP сервлета, що забезпечує створення вебзастосунків і вебслужб RESTful.
  • Аутентифікація і авторизація: налаштовувані процеси безпеки, які підтримують цілу низку стандартів, протоколів, інструментів і практик за допомогою підпроєкту Spring Security (колишня система безпеки AcerI для Spring).
  • Віддалене керування: конфігураційний вплив і управління Java-об'єктами для місцевої (локальної) або віддаленої конфігурації через JMX
  • Тестування: підтримка класів для написання юніт-тестів та інтеграційних тестів

Критика ред.

Spring Framework неодноразово піддавали критиці за надмірну прив'язаність до XML у контейнерах Spring. Проте, починаючи з версії 3.0.0, розробники мають можливість використовувати повністю або частково у своїх застосунках анотації. Spring Boot широко використовує цей спосіб для власних конфігурацій. Крім того, Spring Tool Suite (STS), побудований на базі Eclipse, забезпечує автодоповнення коду, валідацію, контекстну інформацію та графічну візуалізацію під час редагування файлів конфігурації Spring XML.

Примітки ред.

Посилання ред.

Література ред.

Див. також ред.