Spring Framework
Spring Framework — це програмний каркас (фреймворк) з відкритим кодом та контейнери з підтримкою інверсії управління для платформи Java.
| |
Тип | Application framework |
---|---|
Розробник | Pivotal Software |
Перший випуск | 1 жовтня, 2002 |
Стабільний випуск | 5.0.1[1] (24 жовтня 2017 ) |
Репозиторій | github.com/spring-projects/spring-framework |
Нестабільний випуск | 5.0.0 M1 (6 квітня 2016 ) |
Платформа | Java Virtual Machine |
Операційна система | Cross-platform |
Мова програмування | Java |
Стан розробки | Active |
Ліцензія | Apache License 2.0 |
Вебсайт | spring.io/projects/spring-framework |
Основні особливості Spring Framework можуть бути використані будь-яким додатком Java, але є розширення для створення веб-додатків на платформі Java EE. Незважаючи на це, Spring Framework не нав'язує якоїсь конкретної моделі програмування, Spring Framework став популярним в спільноті Java як альтернатива, або навіть доповнення моделі Enterprise JavaBean (EJB).
Модулі
Spring Framework складається з кількох модулів, які надають широкий спектр послуг:
- Контейнер Інверсії управління: Конфігурація компонентів додатків і управління життєвим циклом об'єктів Java, здійснюється головним чином через Інверсію управління
- Аспектно-орієнтоване програмування: дозволяє реалізувати наскрізні процедури
- Доступ до даних: робота з реляційною системою управління базами даних на платформі Java з використанням JDBC і об'єктно-реляційні відображення та інструментів з NoSQL баз даних
- Управління транзакціями: об'єднує кілька API, управління транзакціями та координує операції для Java-об'єктів
- Модель-Вигляд-Управління (Model-View-Controller): програмний каркас на основі HTTP сервлета, що забезпечує створення веб-додатків і веб-служб RESTful.
- Аутентифікація і авторизація: налаштовувані процеси безпеки, які підтримують цілий ряд стандартів, протоколів, інструментів і практик за допомогою підпроєкту Spring Security (колишня система безпеки АсеrІ для Spring).
- Віддалене керування: конфігураційний вплив і управління Java-об'єктами для місцевої (локальної) або віддаленої конфігурації через JMX
- Тестування: підтримка класів для написання юніт-тестів та інтеграційних тестів
Критика
Spring Framework неодноразово піддавали критиці за надмірну прив’язаність до XML в контейнерах Spring. Проте, починаючи з версії 3.0.0, розробники мають можливість використовувати повністю або частково в своїх застосунках анотації. Spring Boot широко використовує даний спосіб для власних конфігурацій. Понад те, Spring Tool Suite (STS), побудований на базі Eclipse, забезпечує автодоповнення коду, валідацію, контекстну інформацію та графічну візуалізацію під час редагування файлів конфігурації Spring XML.
Посилання
- Сайт проєкту (англ.)
- Документація
Література
- Кларенс Хо, Роб Харроп. Spring 3 для профессионалов. — М. : «Вильямс», 2012. — 880 с. — ISBN 978-5-8459-1803-1.
- Крейг Уоллс. Spring в действии. — Третє. — М. : «Manning», 2014. — 624 с. — ISBN 9781617291203.