Новини високих технологій
» » Spring Java: засади та уроки для початківців

Spring Java: засади та уроки для початківців

7-11-2016, 21:46
2 934
На сьогоднішній день практично для всіх додатків використовують скриптова метод програмування – Spring Java. Основна перевага цієї мови полягає в тому, що користувачу надається можливість розробити програму у вигляді простого набору loose-coupled елементів, не прив'язаних один до одного. Простіше кажучи, чим менше блоки програми пов'язані між собою, тим легше прописати новий функціонал і при цьому контролювати вже існуючу структуру. Одним з найбільш яскравих і простих прикладів є керівництво транзакціями. З допомогою Spring Java управління структурою транзакції здійснює незалежно від головної логіки пов'язаності з БД. Будь-які зміни конструкції логіки не вплинуть на транзакционность, тобто не порушать основну ідею програми. Spring має модульність.


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


Сьогодні можна знайти по Java Spring підручники у величезній кількості і на різних мовах (англійською, російською і т. д). Тому осилити "Java" ви можете і самостійно, а ми в цьому постараємося вам допомогти!

Spring зсередини

Як побудована архітектура "Джава спрінг" зсередини, напевно, знає далеко не кожен. Тому давайте розглянемо більш детально цю конструкцію: Установка BeanDefinition і парсирование конфігурації контексту (Xml, JavaConfig, Groovy і AnnotationConfigApplicationContext). На початковому етапі створюються всі інтерфейси – BeanDefinition. В залежності від вибору конфігурації необхідно використовувати відповідний механізм - парсирование компонентів додатка. Налаштування створених інтерфейсів (видів) – BeanDefinition. Установка кастомних об'єктів за допомогою FactoryBean. Створення примірникових (чорнових) бинов. Налаштування створених бинов. Перевірка функціональності написаних бинов.

Spring: початок

Якщо ви тільки вирішили почати знайомитися з програмуванням на "Джава спрінг", рекомендуємо починати саме з Java ee Spring (фреймворк). Це один з найпростіших методів з відкритим вихідним кодом для даної платформи "Джава". Фреймворк створює послідовну конструкцію, яку можна без проблем застосувати до більшості завдань, що були раніше описані на основі Java. Простота та прозорість фреймворку дозволить вам самостійно побачити помилки в написанні.
Spring можна описати як сукупність декількох незалежних фреймворків, так і більш складних конструкцій (фреймворк у фреймворку). Більшість даних структур може функціонувати незалежно один від одного, проте вони демонструють величезний обсяг працездатності при спільному запуску програми. Ці компоненти поділяються на структурні деталі комплексних програм у залежності від їх призначення:
Контролер – inversion of control. Забезпечують коректну працездатність, відповідають за конфігурацію елементів програми і регулюють функціональний цикл об'єктів Java. Доступ до даних – функціонал спрямований на управління реляційними базами даних (БД) в Java. Завдяки цьому фреймворку забезпечується рішення величезної кількості складних завдань на базі Java environments. Фреймворк аспектно-орієнтовної установки. Працює з компонентами, які не можуть реалізуватися без будь-яких втрат на Java. Управління транзакціями. Фреймворк координує АР та інструментарій настроившими об'єктами управліннями транзакцій для елементів Java. Фреймворк віддаленого доступу і управління. Конфігурація відбувається локально. Аутентифікація і авторизація. Підтримують конфігурації багатьох популярних протоколах через Spring Security. На сьогоднішній день для всіх фреймворків в "Спрінг" надається ряд можливостей: Автоматичне керування ресурсами. Обробка виключених компонентів при доступі до даних виключення самого "Спринга". Прозоре управління транзакціями під час будь-яких операцій з даними. Розархівування ресурсів. Обробка абстракції у багатьох форматах. Необхідно розуміти призначення всіх фреймворків, так як це основа Java Spring. Для початківців рекомендується починати вивчати всі компоненти по групам і пробувати їх використовувати на прикладах.

Як зробити просту програму на Java Spring (фреймворк)

Конфігурацію програми в Spring можна здійснювати кількома способами. Одним з найбільш поширених і досить простих вважається винос конфігурації в XML-файл. Цей тип традиційно використовують у багатьох версіях Java Spring. Для початківців рекомендуємо використовувати такі інструменти як java (1.5), tomcat (6), ant (1.7), eclipse (3), junit 4x.
Для того щоб описати просту задачку в Java Spring, необхідно дотримуватися такої черговості: Створити саму структуру програми. Для цього вам знадобиться на eclipse встановити спеціальний плагін - Spring IDE. Також необхідно створити проект на Springapp і додатково додати папку war. Створити index.jsp. В Java Spring web додатково прописати WEB-INF і помістити в неї web.xml. Деплоим програму в tomcat. Для того щоб розгорнути додаток, необхідно скористатися ANT-скриптом, який буде містити мета для компіляції, перенесення і будови програми. Прописавши повністю всі додатки, зробіть перевірку. Запускайте tomcat і відкривайте веб-сторінку за адресою: localhost:8080/springapp/. Потім вам знадобиться встановити Spring Framework і розархівувати його. На цьому етапі можна сказати, що ви спішно завершили налаштування мережевого оточення. Далі слід підлаштувати Spring Java config: Для початку необхідно зробити деякі зміни в web.xml, які ви знайдете в папці WEB-INF. Наша мета полягає в тому, щоб прописати диспетчер вхідних запитів програми. Виробляємо диспетчеризацію вхідних запитів. Ми вирішили всі запити з виду '.htm' направляти на сервлет-диспетчер. Потім скопіюйте бібліотеки даних у WEB-INF/lib. Створіть контролер в springapp.web і пропишіть тест. Задайте вигляд і скомпілюйте програми на сервері. Спробуйте запустити програми. Що ж ми зробили в Spring Java? Для чайників деякі з вище перелічених пунктів, будуть незрозумілі, тому спробуємо описати простіше: Ми створили стартову сторінку– index.jsp, яка служить для того, щоб перевірити коректність установки оточення. Прописали диспетчер з відповідним файлом опису springapp-servlet.xml. Створили контролер і прописали для нього текст. Поставили вид додатка.

Що таке Java Spring Security і навіщо він потрібен?

Spring Security дозволяє авторизувати і аутентифікувати додатка. Крім того, даний фреймворк забезпечує безпеку корпоративних завдань, які створюються за допомогою Spring Framework.
Ключові компоненти Spring Security: SecurityContextHolder. Містить поточну інформацію щодо безпеки, а також включає в себе докладні дані про користувача, який запустив програми. За замовчуванням SecurityContextHolder зберігає інформацію в ThreadLocal, а це значить, що контекст безпеки доступний для всіх методів, які реалізуються у даному потоці. SecurityContext. Містить всю інформацію про системи безпеки, яка пов'язана з запитом користувача, а також об'єкт Authentication. Authentication. Розпізнає користувача з програмною боку. GrantedAuthority. Показує дозволи, які отримав користувач в масштабах всього програми. UserDetails. Відображає необхідну інформацію для налаштування Authentication з інших джерел систем безпеки. Містить такі дані, як нікнейм користувача, пароль і прапори. UserDetailsService. Використовують для того, щоб створити UserDetails з допомогою реалізації одного методу даного інтерфейсу.

Інтеграція Java

Integration Java Spring – це унікальний фреймворк, який включає в себе налаштування функцій, відповідають за відправлення повідомлень. Крім того, даний об'єкт відповідає за побудову дієво-орієнтовною архітектури: Роутерів. Адаптерів для взаємодії з іншими системами. Активаторів сервісів. Трансформерів та ін.

Spring Hadoop

Це нова розробка VMware, яка з'єднала два величезних проекту - Apache Hadoop і Spring. Серед безлічі переваг нового фреймворку варто виділити кілька основних. Це: Підтримка конфігурації на базі HBase. Професійна підтримка Batch Spring. Підтримка користування з інтеграцією Java Spring. Параметризація конфігурації Hadoop. Пристрої шаблонної обробки сполучних компонентів з Hadoop. Декларативна підтримка для інструментів Hadoop. Програмована підтримка для компонентів Hadoop.

Java Hibernate

Практично всі веб-додатки не можуть обійтися без зберігання великої кількості інформації. Як правило, для вирішення цієї проблеми використовують різні спеціальні програми – СУБД і т. д. По структурі організації і частоті використання бази даних можна поділити на декілька підгруп, так і вийшло, що реляційні є найбільш поширеними. Як правило, опис даних конструкцій досить великі, і не завжди їх раціонально використовувати. Java Spring - технологія для полегшення написання програми - рекомендує використовувати ORM (Object-Relational Mapping). Реалізує даний метод бібліотека Hibernate, яка перетворює дані з одного виду в інший. Крім того, з її допомогою можна легко налаштувати підключення до файлів СУБД і керувати транзакціями. Для преображення одного класу в інший на Java Hibernate Spring існує кілька спеціальних генераторів: Increment. Identity. Sequence. Hilo. Seqhilo. Uuid. Guid. Native. Assigned. Foreign. sequence-identity. Переваги використання Java Hibernate Spring: Проста структура механізмів взаємозв'язку з БД і POJO. Автоматична генерація компонентів Primary Key. HQL. Кеш: Second level, Session Level і, звичайно ж, Query. Хороша продуктивність. Вибірка Outer Join.

Практика для новачків

Одним із самих простих текстових проектів на Java Spring є написання програми "привіт". Платформа не потребує додаткової реєстрації або будь-яких складних конструкцій і форм на bootstrap. Використовуємо простий html без динаміки. І нехай основна форма має: Поле для введення тексту "привіт". Натисніть "створити запис", при натисканні на яку наш текст буде відправлятися на обробку і зберігатися в БД. Список, який буде відображати раніше створення запису. Більше нам нічого не потрібно. Переходимо до Java Spring. Практика: Ясна річ, встановіть на свій комп'ютер Java. Поставте мавен. Створіть проект Spring-boot. Встановіть БД. Розподіліть класи моделей. Краще всього створити якийсь один. Реалізуйте операцію з компонентами з допомогою create-read-update-delete. Створіть форму на jsp. Прив'яжіть свою форму до відповідного контролера.

Що таке MVC, і яким чином воно пов'язане зі Spring

MVC – це власна платформа "Спринга", яка орієнтована на запити користувачів. У ній заданий статистичний вид для всіх функцій запросно-орієнтованих систем. Завдання кожного інтерфейсу має бути простим і лаконічним, щоб користувач за бажанням міг без проблем заново імплементувати програми. Дана платформа прокладає пряме підключення до front-end-кодом. Всі інтерфейси пов'язані з об'єктом Servlet API. Завдяки цьому взаємозв'язку значно спрощується програмування додатки. До найбільш важливим інтерфейсів можна віднести: Model — модель, дані. View — відображення, зовнішній вигляд. Controller — управління, встановлення взаємозв'язку між першими двома поняттями. До найбільш важливим інтерфейсів можна віднести: HandlerAdapter. Controller. View. HandlerMapping. ViewResolver. HandlerInterceptor. LocaleResolver. MultipartResolver. Java Spring MVC (model-view-controlle) відкриває перед розробником багато додаткових можливостей: Чітке і просте розділення між запитами. Кожен інтерфейс відповідає лише за свою частину роботи. Інтерфейс можна без проблем змінити за допомогою альтернативної реалізації. Всі інтерфейси пов'язані з Servlet API. Підвищений рівень ефективності та функціональності для веб-додатків. Можливість використовувати різні частини "Спринга", а не тільки MVC (model-view-controlle).

Основний пакет

Основний пакет є найбільш фундаментальною частиною системи і забезпечує можливість впровадження залежностей, дозволяє управляти боба-функціональністю контейнера. Основною концепцією тут є BeanFactory, яка забезпечує шаблон фабрики, усуває необхідність у програмній підтримці сінглтон і дозволяє відокремити конфігурацію і специфікацію залежностей від фактичної логіки програми. Пакет DAO надає JDBC-рівень абстракції, що позбавляє від необхідності робити стомлююче JDBC-кодування і розбір бази даних постачальника конкретних кодів помилок. Крім того, можна зробити програмне, а також декларативне управління транзакціями не тільки для класів, що реалізують інтерфейси, але і для всіх ваших Pojos (простих об'єктів Java). Пакет ORM забезпечує інтеграцію шарів популярних API для відображення реляційних об'єктів, включаючи JDO, Hibernate і Ibatis. Використовуючи пакет ОРЗ, ви можете застосовувати всі O/R-картографи в поєднанні з іншими функціями Spring-пропозиції. АОП-пакет Spring забезпечує сумісний аспект орієнтованого програмування, реалізації АОП Alliance, що дозволяє визначити, наприклад, метод-перехоплювач і відв'язати код реалізації функціональних можливостей. Застосовуючи метадані на рівні вихідних текстів, можна включити всі види поведінкової інформації в код, наприклад NET-атрибути. Веб-пакет Spring забезпечує основні веб-функції інтеграції, такі як многочастная функціональність, ініціалізація контекстів із застосуванням сервлетів слухачів і контексту веб-орієнтованих додатків. Реалізація в Spring MVC забезпечує чітке розділення між моделлю коду домену і веб-формою, що дозволяє використовувати всі інші особливості Spring Framework для перевірки.

Вимоги до доменним об'єктів

Для того щоб програми JPA нормально функціонувало, необхідно стежити за коректністю написання таких вимог: "Джава"-біном або POJO. Клас не повинен спадкуватися (не бути final). Прописаний конструктор. Стандартно йде без будь-яких параметрів. Написати Implements Serializable. Це необхідно для того, щоб компоненти зберігалися в кеші в спеціальному вигляді. Прописати ідентифікацію всіх полів, тобто об'єкти не можуть зберігатися в БД, якщо у них немає Primary key. Наявність атрибутів. У getters прописати конкретну посилання на колекцію об'єктів, а не її копію. Небажано використовувати масиви, так як, коли необхідно повернути наш Array, потрібно прописувати його копію. Крім того, досить складно від масиву успадковуватись. Ознайомитися з літерою. Перед початком роботи в Java Spring вам необхідно розібрати у багатьох термінах і значеннях тих чи інших функцій. Простіше кажучи, отримати хоч найменші поняття, що це таке і з чим його їдять. Спробувати самостійно написати одну з простих завдань. Наприклад, додаток _ПРИВЕТ_, "змійка" або яке-небудь інше. Ознайомитися з WEB. Краще всього в цьому допоможуть онлайн-курси. Якщо не хочете, то знову беріться за книги і розбирайтеся вже з новими поняттями самостійно. Пробуйте ускладнити прості задачки _привет_ більш складними конструкціями. Також рекомендуємо спробувати написати просте додаток, яке могло б стати в нагоді вам в реальному житті. Так вам простіше буде осилити цей метод програмування.

Допоміжні групи об'єктів

Існує кілька додаткових класів: "Спрінг Дао". Цей клас допомагає працювати з БД (базами даних). Спрининг транзакцій. Як правило, при написанні програми у всіх випадках використовується Transaction Manager. Після того, як користувач визначив методи, транзакції будуть додаватися, автоматично створюватися і завершуватися. Спрининг Security. Даний клас задає авторизацію користувача (логін, пароль тощо). Раціонально створювати як мінімум 10 биномов для того, щоб добитися підвищеної ефективності функціональності Security.

Розшифровка основних абревіатур в Java Spring

Знайомлячись з таким специфічним скриптовою методом програмування, як "Джава спрінг", можна зустріти різні абревіатури. Як правило, не на всіх сайтах або в підручниках можна знайти їх розшифровку, тому давайте розберемося, що є Java Spring. Приклад: Inversion of Control – IoC – інверсія контролю або, простіше кажучи, головний модуль програми. АОП – аспектно-орієнтовне програмування. Завдяки цьому модулю "Джава" може без проблем підключитися до будь-якої точки доступу і прописати там необхідний код. MVC - Model-view-controller – це структурований шаблон, який визначає та описує спосіб побудови конструкції всього програми, забезпечує взаємодію всіх частин в одній системі. Створює об'єкти web. Клас WEB призначає для того, щоб полегшити розробку авторизації фреймворку, відповідає за доступ до бинам і т. д. ORM - Object-Relational Mapping – пов'язує БД (бази даних) з концепціями объекто-орієнтовних методів програмування, створюючи нову віртуальну базу даних. DAO призначений для роботи з базами даних у структурі "Спринга". Service Abstraction – задає інтерфейси (зовнішній вигляд) додатки, тобто відповідає за абстрагування завдання. Сьогодні можна знайти досить багато корисної та цікавої інформації по Java Spring. Уроки, підручники, веб-семінари неодмінно допоможуть вам без проблем вивчити даний скриптова мова програмування. Якщо у вас виникли які-небудь проблеми з написанням програми, перегляньте документацію по "Спрінгу", в якій автори досить детально описали всі вимоги до структури "Джава", а також відповіли на питання, як виправити часто чинені помилки.
Цікаво по темі
NFO-файл: чим відкрити простіше всього?
NFO-файл: чим відкрити простіше всього?
Напевно багато користувачів комп'ютерних програм, працюючих під Windows, могли бачити специфічні об'єкти у вигляді файлів з розширенням .nfo.
Додаток або файл неможливо відкрити, використовуючи вбудований обліковий запис Адміністратора: що робити?
Додаток або файл неможливо відкрити, використовуючи вбудований обліковий запис Адміністратора: що робити?
Досить часто при установці оновлень Windows (особливо це стосується версій 8 і 10) користувачі стикаються з неприємною проблемою - що деякі
Додатки для "Андроїда": огляд кращих програм
Додатки для "Андроїда": огляд кращих програм
Сьогодні юзерам доводиться витрачати багато часу, щоб знайти якісне. Дана стаття покликана заощадити час користувача. У ній представлений огляд
Як скачувати аудіокниги на "Айфон": інструкція
Як скачувати аудіокниги на "Айфон": інструкція
Детальніша інформація по роботі з аудіокнигами, завантаженням їх на "Айфон" і інших методах прослуховування аудіо-літератури на смартфоні.
Як на «Андроїд» збільшити швидкість Інтернету: три простих методи
Як на «Андроїд» збільшити швидкість Інтернету: три простих методи
Хоча "Андроїд-системи", що встановлюються на смартфонах і планшетах, і вважаються досить стабільними і в деякому роді навіть «просунутими», на них
Файрвол для «Андроїда»: типи додатків і їх можливості
Файрвол для «Андроїда»: типи додатків і їх можливості
Захист від стеження або збереження конфіденційності абсолютно для всіх комп'ютерних і мобільних пристроїв є нагальною проблемою. Для цього