Spring Framework wyjaśniony w 5 minut lub mniej

Spring Framework to potężny framework do tworzenia aplikacji Java typu open source, który ułatwia tworzenie solidnych, wydajnych aplikacji.

Open source odnosi się do czegoś, do czego ludzie mają swobodny dostęp, modyfikację i udostępnianie, ponieważ kod źródłowy jest swobodnie dostępny.

Struktura aplikacji typu open source to szablon do tworzenia oprogramowania stworzony przez grupę programistów. Istnieją różne typy szablonów używanych do różnych celów, takich jak tworzenie interfejsów użytkownika, stron internetowych i podstawowych aplikacji.

Jeśli jesteś nowy w tworzeniu aplikacji, rozpoczęcie pracy z Spring Framework może być dla Ciebie świetnym początkiem. Z tego artykułu dowiesz się, co to jest i jak z niego korzystać.

Co to jest Spring Framework?

Spring Framework to platforma typu open source, której programiści używają do tworzenia aplikacji Java dla przedsiębiorstw. Framework ten został stworzony przez Roda Johnsona i wydany w 2003 roku na licencji Apache 2.0.

Niektórzy programiści zwykle niszczą Javę i twierdzą, że tworzenie podstawowych aplikacji jest uciążliwe. Spring Framework ma na celu uproszczenie uciążliwego i złożonego procesu tworzenia aplikacji Java dla przedsiębiorstw.

Wiosna jest szeroka. Dlatego wskazane jest, aby najpierw zrozumieć, czym jest framework Spring, zanim zaczniesz używać innych projektów opartych na Springu, takich jak Spring Boot, Spring GraphQL i Spring Cloud.

Dlaczego warto używać Spring Framework?

  • Elastyczny. Ta platforma oferuje technologie, takie jak programowanie zorientowane aspektowo (AOP), wstrzykiwanie zależności (DI) i zwykły stary obiekt Java (POJO). W ten sposób możesz użyć Springa do osiągnięcia różnych celów.
  • Wiosna jest szybka. Pomimo posiadania wszystkich tych technologii Spring Framework jest nadal lekki, dzięki czemu idealnie nadaje się do tworzenia skalowalnych i niezawodnych aplikacji internetowych dla przedsiębiorstw.
  • Niesamowita społeczność. Wiosna ma zróżnicowaną społeczność i możesz jej zaufać, aby pomóc w różnych rozwiązaniach w potrzebie.
  • Bezpieczne. Spring jest znany ze swoich środków bezpieczeństwa, a luki w zabezpieczeniach są zawsze naprawiane za pomocą częstych poprawek. Zależności stron trzecich są zawsze monitorowane, aby upewnić się, że ich luki w zabezpieczeniach nie zakłócają podstawowego procesu.
  • Produktywny. Spring Framework usprawnia tworzenie aplikacji Java dla przedsiębiorstw.

Funkcje sprężyn

Obsługuje programowanie zorientowane aspektowo

Programowanie zorientowane aspektowo zapewnia większą modułowość problemów przekrojowych. AOP uzupełnia również programowanie obiektowe.

Główną jednostką modułowości w AOP jest problem przekrojowy (aspekt). Deweloperzy mogą w ten sposób tworzyć deklaratywne usługi korporacyjne i niestandardowe aspekty.

Kontener Inversion of Control (IoC).

Kontener IoC oferuje usprawniony sposób zarządzania i konfigurowania obiektów Java. Cykl życia zdefiniowanego obiektu Java jest zarządzany przez ten kontener, co znacznie zwiększa rekonfigurowalność aplikacji opartej na Springu.

Inversion of Control wykorzystuje wzorce wyszukiwania zależności lub wstrzykiwania zależności w celu zaoferowania środowiska uruchomieniowego odwołania do obiektu. Kontener IoC jest dostarczany z kodem asemblera potrzebnym do zarządzania konfiguracją.

Ramy dostępu do danych

Proces komunikacji danych jest uproszczony, ponieważ Spring bezpośrednio obsługuje Hibernate, JDBC i Java Persistence API (JPA), jedne z najpopularniejszych platform dostępu do danych w Javie. Możesz także skorzystać z tej platformy, aby zaoferować funkcje, takie jak zawijanie zasobów, obsługa wyjątków i zarządzanie zasobami dla wszystkich obsługiwanych struktur dostępu do danych.

Spring MVC Framework

Deweloperzy mogą używać tej struktury opartej na żądaniach do tworzenia niestandardowych implementacji MVC, które odpowiadają ich potrzebom.

Klasa DispatcherServlet, której zadaniem jest obsługa żądań użytkowników, a następnie przekazywanie ich do odpowiedniego kontrolera, stanowi rdzeń Spring MVC. Kontroler może w ten sposób przetworzyć żądanie, stworzyć model i zaoferować informacje użytkownikowi końcowemu poprzez określony widok.

Ma kilka frameworków testowych

Możesz testować swoje aplikacje oparte na Springu podczas ich tworzenia za pomocą obiektów Mock, Framework TestContext lub Spring MVC Test.

Wsparcie językowe

Framework Spring obsługuje Groovy i Kotlin.

Wiosenna architektura

Spring Framework zawiera około 20 modułów. Dobrą rzeczą w tym frameworku jest to, że pozwala wybrać moduły, które mają zastosowanie do twojego przypadku użycia. Moduły te są pogrupowane w Core Container, AOP (programowanie zorientowane aspektowo), Data Access/Integration, Web, Instrumentation i Test.

Źródło obrazu: Spring.io

# 1. Pojemnik rdzenia

Core Container of Spring Framework zawiera modele Core, Beans, Context i Expression Language. Te modele językowe są przydatne w następujący sposób;

  • Podstawową częścią frameworka jest moduł Core. Funkcje IoC i Dependency Injection znajdziesz w Core.
  • Moduł Bean jest znany z BeanFactory, wyrafinowanej implementacji wzorca fabrycznego.
  • Moduł Context jest zbudowany na modułach Core i Bean. Ten moduł dziedziczy swoje funkcje z modułu Bean, ale dodaje obsługę internacjonalizacji.
  • Moduł Expression Language oferuje potężny język wyrażeń do manipulowania grafem obiektowym i wykonywania zapytań w czasie wykonywania.

#2. Dostęp do danych/integracja

Moduły JDBC, ORM, OXM, JMS i Transaction tworzą warstwę dostępu/integracji danych. Moduły te wykonują następujące czynności;

  • Moduł JDBC ma warstwę abstrakcji JBDC, która eliminuje konieczność żmudnego kodowania JDBC, a także analizowania kodów błędów specyficznych dla dostawcy bazy danych.
  • ORM jest warstwą integracyjną dla niektórych popularnych interfejsów API mapowania obiektowo-relacyjnego, takich jak JPA, JDO, Hibernate i iBatis. ’
  • Moduł OXM to warstwa abstrakcji obsługująca implementacje mapowania Object/XML dla XStream, JAXB, JiBX, Castor i XMLBeans.
  • Moduł Transaction obsługuje deklaratywne i programowe zarządzanie transakcjami dla klas implementujących specjalne interfejsy.
  • Moduł Java Messaging Service (JMS) zawiera funkcje, które generują i wykorzystują komunikaty.

#3. AOP (programowanie aspektowe) i oprzyrządowanie

Ten moduł jest wyposażony w implementację programowania aspektowego zgodną z AOP Alliance, która ułatwia definiowanie rzeczy, takich jak przechwytywacze metod. Z drugiej strony moduł oprzyrządowania oferuje obsługę modułu ładującego klasy i oprzyrządowania klas do wykorzystania na niektórych serwerach aplikacji.

#4. Sieć

Moduły Web, Web-Servlet, Web-Struts i Web-Portlet tworzą warstwę Web.

  • Moduł Web jest odpowiedzialny za podstawowe funkcje integracji zorientowane na Internet, takie jak przesyłanie wieloczęściowych plików.
  • Moduł Web-Servlet zawiera implementację MVC Springa dla aplikacji internetowych.
  • Moduł Web-Portlet odzwierciedla funkcjonalność modułu Web-Servlet. Moduł Web-Portlet oferuje implementację MVC do użycia w środowisku portletowym.
  • Moduł Web-Socket obsługuje dwukierunkową komunikację pomiędzy serwerem a klientem w aplikacjach webowych.

#5. Test

Moduł Test jest ostatnią częścią architektury Springa. Jest to moduł wspierający testowanie komponentów Springa za pomocą TestNG lub JUnit.

Zainstaluj Spring Framework

Sprawdź, czy zainstalowano Javę

Zanim nauczymy się, jak działa Spring Framework, musimy zainstalować Springa na naszym komputerze. Dokumentacja Springa zawiera obszerne zasoby dotyczące rozpoczynania pracy w zależności od systemu operacyjnego.

W naszym przypadku użyjemy Ubuntu 20.04.5, systemu operacyjnego opartego na Linuksie.

Przed zainstalowaniem Springa upewnij się, że masz zainstalowaną Javę za pomocą tego polecenia

java -version

Jeśli masz zainstalowaną Javę, otrzymasz wynik podobny do tego zrzutu ekranu.

Jeśli nie masz go na swoim komputerze, istnieje kilka sposobów instalacji oprogramowania Java w zależności od potrzeb.

Zainstaluj framework Spring

Istnieje kilka podejść do instalowania frameworka Spring, jak podkreślono w dokumentacji Spring.

W naszym przypadku użyjemy GVM (Groovy Environment Manager). Możesz pobrać GVM za pomocą GVMtool lub zainstalować go z wiersza poleceń.

Gdy masz GVM, użyj następujących poleceń, aby zainstalować i sprawdzić, czy framework Spring jest zainstalowany

gvm install springboot
spring --version

Prawdopodobnie otrzymasz wynik, który wygląda tak, jeśli zainstalowano Spring

Ważne terminy związane z frameworkiem Spring

Zastrzyk zależności

Dependency Injection to funkcja, która pozwala programistom tworzyć niezależne obiekty poza klasą. DI pozwala również użytkownikom dostarczać te obiekty do klasy na różne sposoby.

Odwrócenie kontroli (IoC)

IoC to koncepcja, która przenosi kontrolę nad częściami programu lub obiektami do struktury lub kontenera. W tradycyjnym programowaniu nasz niestandardowy kod wywołuje bibliotekę. Z drugiej strony IoC pozwala frameworkowi (w tym przypadku Springowi) na wykonywanie wywołań naszego niestandardowego kodu i kontrolowanie przepływu programu.

Programowanie zorientowane aspektowo (AOP)

AOP to technika budowania wspólnych i wielokrotnego użytku procedur, które można zastosować w całej aplikacji. Takie podejście oddziela powtarzalne zadania (takie jak sprawdzanie poprawności danych wejściowych, rejestrowanie i obsługa błędów) od podstawowej logiki aplikacji.

Zasoby szkoleniowe Spring Framework

# 1. Programowanie reaktywne w Spring Framework 5

Ten wiosenny kurs składa się z filmów, artykułów i zasobów do pobrania. Kurs uczy programowania funkcyjnego w Javie, mikrousług w Spring WebFlux i wykorzystania typów reaktywnych w Spring Data MongoDB.

#2. Mistrzowska klasa Spring Framework

Spring Framework Master Class to płatny kurs, który uczy prawdziwego sposobu, w jaki projekty Java wykorzystują Spring Framework. Dowiesz się, jak korzystać z różnych narzędzi, takich jak Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP i Hibernate.

#3. Spring Framework w łatwych krokach

Spring Framework In Easy Steps to idealny kurs premium, jeśli chcesz tworzyć kompleksowe aplikacje internetowe Java EE przy użyciu Spring Framework. Niektóre z rzeczy, których się nauczysz, to tworzenie aplikacji internetowych przy użyciu Spring MVC, jak wykonywać wywołania Ajax przy użyciu JQuery i Spring MVC oraz jak używać Spring JDBC do wykonywania operacji na bazach danych, by wymienić tylko kilka.

#4. Spring Framework 5

Kurs Spring Framework 5 jest idealny, jeśli chcesz nauczyć się Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA i Hibernate. Możesz liczyć na 57 godzin filmów na żądanie, 13 artykułów i wiele materiałów do pobrania.

Notka autora

Java pozostaje jednym z najpopularniejszych języków programowania we współczesnym świecie. Chociaż wprowadzane są nowe języki, frameworki takie jak Spring ożywiają Javę i zwiększają jej użyteczność. W związku z tym prawdopodobnie nadal będziemy potrzebować inżynierów Java, ponieważ są oni potrzebni do utrzymania starszego kodu, a także do tworzenia nowych aplikacji.

Wniosek

Spring zajmuje wysokie miejsce wśród frameworków Java EE i mamy nadzieję, że teraz rozumiesz, czym jest Spring Framework, jego funkcje, architektura i proces roboczy. W połączeniu z innymi projektami Spring, Spring Framework oferuje programistom różne narzędzia programistyczne, które mogą być używane w różnych środowiskach programistycznych.