Co to jest Spring Framework? - Droga do efektywnego rozwoju



Ten blog o tym, czym jest Spring Framework, mówi o szeroko stosowanym Java Framework - Spring. Zawiera również przykłady, dlaczego i jak używać Spring Framework.

W dzisiejszym szybko zmieniającym się świecie wszystko musi być szybkie. Nie chcemy zajmować się jedną pracą zbyt długo, niech będzie to coś takiego jak podróże, zakupy, nauka czy praca. Jeśli chodzi o kodowanie, zależy nam, aby nasze aplikacje powstawały w jak najkrótszym czasie, ale przy zachowaniu pełnej wydajności. Możemy się spieszyć, ale mimo to nie możemy iść na kompromis z naszą jakością ani nie chcemy włożyć w to zbyt wiele wysiłku. Więc jakie jest rozwiązanie? W tej sytuacji najlepiej sprawdzają się frameworki. Na rynku dostępne są różne frameworki, z których niewiele jest używanych, jak: Spring, Hibernate, Struts itp. Dzięki temu blogowi dowiemy się, czym jest Spring Framework i dlaczego jest tak popularny na rynku!

Zanim zaczniemy, przyjrzyjmy się tematom, które będę omawiać na tym blogu:





Struktury Java

Dlaczego powinniśmy iść na Frameworks?Chodźmyzrozum to z naszym przyjacielem, Coddy .

Coddy w problemie - Co to jest Spring Framework - Edureka!



Coddy otrzymuje zadanie opracowania aplikacji, ale przydzielony czas nie wystarczy na jej ukończenie. Musi sam napisać wiele linii kodu (LOC). To bardzo czasochłonne i męczące. Nie wie, co powinien zrobić! Od czego powinien zacząć!

Coddy zaczyna myśleć o rozwiązaniu swojego problemu. Potrzebuje czegoś, co jest szybkie i wydajne, oszczędza czas i wysiłek, na przykład czegoś gotowego.



Nagle uderza go pomysł użycia Frameworków. Ramy są szybkie, wydajne i lekkie. Są to duże zbiory predefiniowanych kodów, które możemy łatwo dodać do naszego własnego kodu, aby rozwiązać określony problem.

Koduje używając Framework. Zaskakujące jest, że kod łatwo dopasował się do frameworka.

Coddy teraz potrafi szybciej kodować i wypełniać swoje zgłoszenie w określonym czasie. Co więcej, nie może pisać tysięcy wierszy niefunkcjonalnego kodu.

Po wdrożeniu aplikacji, która została opracowana przy użyciu Framework, stwierdził, że działa ona z dużo większą szybkością, a jej przepustowość również wzrosła w porównaniu z innymi aplikacjami, które zostały opracowane bez użycia Framework.

qtp vs selen, który jest lepszy

Więc zacznijmy teraz od frameworków Java.

Jak powstały ramy Java?

Pod koniec lat 90. aplikacje zostały szeroko opracowane przy użyciu standardów JEE. Założeniem J2EE było wieloplatformowość / wielu dostawców, jeśli możesz kodować zgodnie ze standardami J2EE, możesz wdrożyć swoją aplikację na dowolnym serwerze aplikacji J2EE, niezależnie od platformy. Uruchamianie kodu na dowolnym serwerze aplikacji zapewnia wiele korzyści, takich jak zarządzanie transakcjami, przesyłanie wiadomości, wysyłanie wiadomości pocztowych, interfejs katalogów itp. Ponieważ jednak na tym świecie nic nie przychodzi łatwo, praca z J2EE również miała pewne trudności.

  • BardzoZłożony : Enterprise Java Bean został opracowany w celu zmniejszenia złożoności aplikacji J2EE. Jednak nie udało się osiągnąć celu w realizacji. Powodem tego jest to, że podczas pisania komponentu wymagane jest napisanie zestawu plików XML, interfejsów domowych, interfejsów zdalnych / lokalnych itp.
  • Problem „wyszukiwania”: Za każdym razem, gdy komponent zależał od innego komponentu, musiał szukać komponentów, od których zależał sam. To „wyszukiwanie” komponentu odbywa się tylko według nazwy, więc nazwa zależności została zakodowana na stałe w komponencie.
  • Ciężka waga: JakObsługiwane były wszystkie funkcje, takie jak klastrowanie, zdalne zarządzanie itp., musisz je skonfigurować, niezależnie od tego, czy ich potrzebujesz, czy nie. To spowoduje, że twoje aplikacje będą nadymane.

Tak powstały frameworki Java. Struktury Java to nic innego jak duże zbiory predefiniowanego kodu, który można zastosować do własnego kodu, aby rozwiązać problem w określonej domenie. Możesz użyć frameworka, wywołując jego metody, dziedziczenie, dostarczając „wywołania zwrotne”, detektory lub inne implementacje Obserwator wzór.

Zrozummy to za pomocą graficznego przedstawienia:

Ale jak dokładnie ograniczają naszą pracę i sprawiają, że nasze kody są wydajne? Aby to zrozumieć, wykonaj następujące czynności Zaletyiniedogodnościtych ram. Zacznijmy od Zalety .

Wydajność:

Zadania, które zwykle zajmują godziny i setki wierszy kodu, można teraz wykonać w ciągu kilku minut dzięki gotowym funkcjom. Rozwój staje się dużo łatwiejszy, więc jeśli jest dużo łatwiejszy, jest o wiele szybszy, a następnie bardziej efektywny.

Bezpieczeństwo:

Szeroko używane ramy będą na ogół miały duże plikibezpieczeństwoAplikacje. Dużą zaletą jestsąsiedztwoza tym frameworkiem, gdzie użytkownicy zwykle są długoletnimi testerami. Jeśli znajdziesz lukę w zabezpieczeniach lub lukę w zabezpieczeniach, możesz przejść do witryny sieci Web frameworka i powiadomić ich, aby można było to naprawić.

Koszt:

Najpopularniejsze struktury są komplementarne, dzięki czemu programiści mogą szybciej kodować. Jeśli kodowanie zostanie wykonane szybciej, koszt dla klienta końcowego z pewnością będzie mniejszy pod każdym względem, czy to czasu, czy wysiłku. Ponadto koszt utrzymania jest również niski.

Wsparcie:

Jak każde inne rozproszone narzędzie, struktura zazwyczaj obejmuje dokumenty, grupę wsparcia lub fora internetowe dużej społeczności, na których można uzyskać szybkie odpowiedzi.

Pomimo tych wszystkich zalet Framework Java ma pewne niedogodności , lubić:


Ograniczenia:

Podstawowego zachowania frameworka nie można zmienić, co oznacza, że ​​kiedy używasz frameworka, musisz szanować jego ograniczenia i pracować tak, jak jest to wymagane. Dlatego musisz upewnić się, że wybrałeś ramy, które odpowiadają Twoim potrzebom.

Kod jest publiczny:

Ponieważ ramy są łatwo dostępne dla każdego, it jest również oferowany osobom o złych intencjach. Można to zbadać, aby dowiedzieć się, jak działają rzeczy i odkryć wady, które można wykorzystać przeciwko tobie.

Zwyczaj funkcje:

Kiedy używasz frameworka, niewiele wiesz o języku, który za nim stoi, ponieważ jego funkcje są tworzone na zamówienie.Kiedy używasz niestandardowych funkcji, jest bardzo prawdopodobne, że będziesz musiał ich używać zgodnie ze standardami frameworka, które mogą różnić się od oryginalnej koncepcji.

Terazżeznasz zalety i wadyram,wybierz ramy zgodnie ze swoimi potrzebami. Na rynku dostępne są różne rodzaje ram. Poniższy diagram przedstawia kilka z nich:

Dlatego na tym blogu skupimy się na Spring Framework.

Co to jest Spring Framework?

Tutaj pojawia się pytanie „Co to jest Spring Framework”?

Spring Framework to potężna, lekka platforma programistyczna używana w środowisku Enterprise Java (JEE).

Podstawowe funkcje Spring Framework można wykorzystać przy tworzeniu dowolnej aplikacji Java.Można to opisać jakokompletne i modułowe ramy. Spring Framework może być używany do wszystkich implementacji warstw aplikacji czasu rzeczywistego. W przeciwieństwie do Struts i Hibernate można go również wykorzystać do tworzenia poszczególnych warstw aplikacji czasu rzeczywistego, ale w Spring możemy rozwijać wszystkie warstwy.

Chodziło o to, czym jest Spring Framework, ale jak został opracowany? Cóż, kryje się za tym interesująca historia. Rzućmy okiem na historię i pochodzenie Spring Framework.

W październiku 2002 r. Rod Johnson , australijski informatyk, napisał książkę zatytułowaną Expert One-on-One J2EE Design and Development. W tej książce zaproponował prostsze rozwiązanie oparte na zwykłych klasach Javy (POJO) i iniekcji zależności. Napisał ponad 30 000 wierszy kodu infrastruktury, w tym szereg interfejsów Java wielokrotnego użytku i klas do tworzenia aplikacji. Około lutego 2003 roku Rod, Juergen i Yann rozpoczęli współpracę nad projektem Spring. Nazwę „Wiosna” nadano, ponieważ oznaczała nowy początek po „zimie” tradycyjnego J2EE.

Poniżej znajduje się oś czasu pokazana na temat głównych wydań w historii wiosny:

Został nazwany Interface 21, jako odniesienie do XXI wieku i wydany na licencji Apache 2.0.
To było pierwsze wydanie przełomowe. Framework Spring szybko ewoluował od czasu tej wersji. Interface21 wspierał AspectJ równolegle ze Spring Framework.
Dodano nowe funkcje - rozszerzalne konfiguracje XML, obsługę języka Java 5 i języków dynamicznych, punkty rozszerzeń IoC i ulepszenia AOP.
Dodano nowe funkcje - wsparcie dla Java 6 / JEE5, konfiguracje adnotacji, automatyczne wykrywanie komponentów w ścieżce klas i pakiety zgodne z OSGi.
Dodano nowe funkcje - wsparcie dla zreorganizowanego systemu modułów, SpEL, JavaConfig, wbudowane bazy danych, obsługa REST i wsparcie dla Java EE 6.
Został wydany Spring Data Commons Project. Później w 2012 roku Rod Johnson opuścił zespół Spring.
Wszystkie projekty Spring zostały przeniesione do Pivotal. Dodano nowe funkcje - pełne wsparcie dla Java 8, websockets, wyższe zależności bibliotek innych firm, świetny DSL dla definicji beanów.
Był kompatybilny z Javą 6, 7 i 8, z naciskiem na podstawowe udoskonalenia i nowoczesne możliwości internetowe.
To będzie ostatnie pokoleniew ogólnych wymaganiach systemowych Spring 4. 4.3.8 to aktualna wersja.

Dlaczego Spring Framework?

Poniżej znajduje się tabela, która przedstawia porównanie Springa z różnymi innymi frameworkami.

Poniżej znajduje się wykres oparty na ankiecie,stan na maj 2016 r. Jak widać na wykresie, Spring Framework jest bardzo popularny w swojej domenie i nadal utrzymuje swoją pozycję na tod 2014 roku.

Powody dla Spring Framepopularność dzieł

Istnieją trzy główne powody popularności Spring Framework.

  1. Prostota
  2. Testablity
  3. Luźne powiązanie

Omówmy szczegółowo te tematy.

Prostota: Spring Framework jest prosty, ponieważ jest nieinwazyjny, ponieważ wykorzystuje modele POJO i POJI.

  • POJO (zwykłe stare obiekty Java): A.Klasa Java nie jest połączona z żadną technologią ani żadną strukturą ' POJO ' .
  • POJI (Plain Old Java Interfaces): Interfejs Java nie jest połączony z żadną technologią ani żadną ramką ' POJI ' .

Testablity : Za napisanie Sbambusaplikacja, serwer nie jest obowiązkowy. Ale w przypadku rozpórek i aplikacji EJB potrzebujesz serwera, jeśli chcesz przetestować aplikację. Może wymagać wielu zmian w źródle i aby zobaczyć te zmiany, za każdym razem, gdy będziesz musiał ponownie uruchomić serwer. Staje się to żmudne i czasochłonne. W przypadkuSpring Framework ma własny kontener do uruchamiania aplikacjikationy.

Luźne powiązanie : Spring Framework jest luźno powiązany, ponieważ zawiera koncepcje takie jak Dependency Injection, AOP itp. Te funkcje pomagają w zmniejszaniu zależności i zwiększaniu modułowości w kodzie. Zrozummy to na przykładzie.

Tutaj mam interfejs Bike, który ma metodę start (). Jest dalej realizowany przez trzy klasy, a mianowicie: Yamaha, Honda i Bajaj.

public interface Bike {public void start ()}

Tutaj klasa Rider tworzy obiekt dowolnej klasy, który implementuje interfejs Bike.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Teraz kontener Spring Framework może wstrzyknąć obiekt dowolnej klasy, która implementuje interfejs Bike, zgodnie z wymaganiami. Tak działa luźne połączenie.

Architektura Spring Framework

Jak widać na powyższym diagramie, Spring ma architekturę warstwową składającą się z różnych modułów, które mają własną funkcjonalność. Te moduły są uogólnione na następujące warstwy:

  • Pojemnik na rdzeń
  • Dostęp do danych / integracja
  • Sieć
  • AOP (programowanie zorientowane na aspekty)
  • Oprzyrządowanie
  • Test.

Możesz się zastanawiać, jaka jest zaleta Spring Framework z posiadania architektury warstwowej? Dowiedzmy się, korzystając z następujących punktów:

  • Spring Framework efektywnie organizuje obiekty średniego poziomu.
  • Niezależnie od środowiska wykonawczego usługi zarządzania konfiguracją Spring Framework mogą być używane w dowolnej warstwie architektonicznej.
  • Spring Framework obsługuje konfigurację w spójny sposób w całej aplikacji. Eliminuje to potrzebę używania różnych formatów plików z własnymi właściwościami.
  • Spring Framework jest zaprojektowany w taki sposób, aby zbudowane za jego pomocą aplikacje zależały od jak najmniejszej liczby jego API.
  • Ze względu na użycie interfejsów,Spring Framework ułatwia dobre praktyki programistyczne.

Aby w pełni zrozumieć, czym jest Spring Framework, zobaczmy jedną prostą aplikację Spring Framework. Wykonaj pięć prostych kroków:

Krok I: Tworzenie klasy Bean

pakiet org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Witaj: '+ name)}}

Krok II: Utwórz plik XML

 

Krok III: Utwórz główną klasę

package org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplication ('New ClassPathXmlApplication (') ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Krok IV: Załaduj pliki jar

Załaduj następujące pliki jar.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • wiosenna fasola-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

UWAGA: Jeśli potrzebujesz plików jar, komentarz poniżej.

Krok V: Uruchom program

Uruchom program na serwerze, aby przetestować aplikację.

Mam nadzieję, że udało mi się jasno wyjaśnić, czym jest Spring Framework, jak dokładnie działa i do czego służy. Odsyłasz również do filmu „Co to jest Spring Framework”, w którym instruktor opisuje tematy omówione na tym blogu wraz z praktyczną demonstracją.

Co to jest Spring Framework w Javie | Samouczek Spring Framework | Edureka

Jeśli chcesz dowiedzieć się więcej o programie Spring Framework, śledź moją serię blogów, ponieważ będę wymyślał kolejny blog na temat która będzie mówić o bardziej zaawansowanych koncepcjach na wiosnę.

Jeśli chcesz nauczyć się Springa i chcesz go używać podczas tworzenia aplikacji Java, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.