Spring

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Що таке Spring?

The Spring Framework(або скорочено Spring)-незважаючи на те, що Spring Framework не забезпечував яку-небудь конкретну модель програмування, він став широко поширеним в Java співтоваристві головним чином як альтернатива і заміна моделі Enterprise JavaBeans. Spring Framework надає велику свободу Java розробникам в проектуванні, крім того, він надає добре документовані і легкі у використанні засоби вирішення проблем, що виникають при створенні додатків промислового масштабу.

Модулі програми

- Inversion of Control контейнер: конфігурування компонент додатків і управління життєвим циклом Java об'єктів.
- Фреймворк аспектно-орієнтованого програмування: працює з функціональністю, яка не може бути реалізована можливостями об'єктно-орієнтованого програмування на Java без втрат.
- Фреймворк доступу до даних: працює з системами управління реляційними базами даних на Java платформі використовуючи JDBC і Object-relational mapping кошти забезпечуючи вирішення завдань, які повторюються у великому числі Java-based environments.
- Фреймворк управління транзакціями: координація різних API управління транзакціями і інструментарій настроюваного управління транзакціями для об'єктів Java.
-Фреймворк Model-view-controller: каркас, заснований на HTTP і сервлетах надає безліч можливостей для розширення і налаштування (customization).
- Фреймворк віддаленого доступу: конфігурується передача Java-об'єктів через мережу в стилі RPC, підтримуюча RMI, CORBA, HTTP-based протоколи, включаючи web-сервіси (SOAP).
-Фреймворк аутентифікації та авторизації: конфігурується інструментарій процесів аутентифікації та авторизації, що підтримує багато популярних і стали індустріальними стандартами протоколів, інструментів, практик через дочірній проект Spring Security (раніше відомий як Acegi).
- Фреймворк віддаленого управління: конфігурується уявлення і керування Java об'єктами для локальної або віддаленої конфігурації за допомогою JMX.
- Фреймворк роботи з повідомленнями: конфігурується реєстрація об'єктів-слухачів повідомлень для прозорої обробки повідомлень з черги повідомлень за допомогою JMS, поліпшена відправлення повідомлень за стандартом JMS API.
- Тестування: каркас, що підтримує класи для написання модульних та інтеграційних тестів.

Inversion of Control контейнер

Центральною частиною Spring Framework є Inversion of Control контейнер, який надає засоби конфігурування та управління об'єктами Java з допомогою зворотних викликів. Контейнер відповідає за управління життєвим циклом об'єкта: створення об'єктів, виклик методів ініціалізації та конфігурування об'єктів шляхом зв'язування їх між собою.

Об'єкти створювані контейнером також називаються Керовані об'єкти або Beans. Зазвичай конфігурування контейнера здійснюється шляхом завантаження XML файлів, що містять Визначення Bean'ов і надають інформацію необхідну для створення bean'ов

Об'єкти можуть бути отримані або за допомогою Пошуку залежності, або Впровадження залежності. Пошук залежності - шаблон проектування, коли зухвалий об'єкт запитує у об'єкта-контейнера екземпляр об'єкта з певним ім'ям або певного типу. Впровадження залежності - шаблон проектування, коли контейнер передає екземпляри об'єктів за їх імені іншим об'єктам або за допомогою конструктора, або властивості, або фабричного методу.

Введення в Spring Framework

Spring Framework забезпечує вирішення багатьох завдань, з якими стикаються Java розробники і організації, які хочуть створити інформаційну систему, засновану на платформі Java. З-за широкої функціональності важко визначити найбільш значущі структурні елементи, з яких він складається. Spring Framework не цілком пов'язаний з платформою Java Enterprise, незважаючи на його масштабну інтеграцію з нею, що є важливою причиною його популярності.

Spring Framework - ймовірно, найбільш відомий як джерело розширень (features), потрібних для ефективної розробки складних бізнес-додатків поза великовагових програмних моделей, які історично були домінуючими в промисловості. Ще одне його достоїнство в тому, що він ввів раніше невикористовувані функціональні можливості в сьогоднішні панівні методи розробки, навіть поза платформи Java.

Цей фреймворк пропонує послідовну модель і робить її придатною до більшості типів додатків, які вже створені на основі платформи Java. Вважається, що Spring Framework реалізує модель розробки, засновану на кращих стандартах індустрії, і робить її доступною в багатьох областях Java. Основою Spring framework є спрощений контейнер елементів, який реалізує шаблон Inversion of Control (IoC). Використовуючи контейнер IoC, елементи не створюють екземпляри і навіть не шукають свої залежності (об'єкти з якими вони працюють). Контейнер відповідає за введення тих залежностей при створенні елементів — звідси і термін "Інєкція Залежностей" ("Dependency Injection"), що також використовується для опису цього шаблону.

Полегшуючи взаємодію між елементами, Spring IoC контейнер виявилася міцним фундаментом для створення стійких корпоративних програм.

Елементи, керовані Spring IoC контейнером називаються Spring біни. На додаток до свого основного IoC контейнера, Spring framework містить в собі кілька інших модулів, включаючи: підтримку управліннями транзакцій, доступ до даних JDBC та ORM. Хоча ці модулі й виходять за рамки цієї статті, важливо відзначити, що додатковою перевагою у використанні BlazeDS зі Spring є можливість застосовувати ці модулі з метою полегшення розробки ваших віддалених об'єктів.

[[1]]