Spring Framework

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

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

Spring Framework
ТипApplication framework
РозробникVMware
Перший випуск1 жовтня, 2002; 21 рік тому (2002-10-01)
Стабільний випуск6.0.7[1] (20 березня 2023; 15 місяців тому (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.

Примітки

ред.

Посилання

ред.

Література

ред.

Див. також

ред.