close

Springframework

Przejdź do nawigacji Przejdź do wyszukiwania
Springframework
Spring Framework Logo 2018.svg
Informacje ogólne
typ programu framework dla webowych aplikacji mobilnych
deweloper WiosnaŹródło
Pierwsze wydanie 1 października 2002 r .
Licencja Licencja Apache 2.0
Rzeczywisty stan Aktywny
Specyfikacja
Zaplanowano w
Obsługiwane platformy Maszyna wirtualna Java
Wersje
Najnowsza stabilna wersja 5.1.6 (1 kwietnia 2019 (3 ​​lata, 6 miesięcy i 16 dni) [ 1 ] )
Spinki do mankietów

Spring to open source'owa inwersja kontenera kontrolnego i framework do tworzenia aplikacji dla platformy Java . [ 2 ]

Pierwsza wersja została napisana przez Roda Johnsona, który wydał ją wraz z publikacją swojej książki Expert One-on-One J2EE Design and Development (Wrox Press, październik 2002). Framework został pierwotnie wydany na licencji Apache 2.0 w czerwcu 2003 roku. Pierwszym głównym wydaniem była wersja 1.0, która pojawiła się w marcu 2004 roku, a po niej nastąpiły kolejne kamienie milowe we wrześniu 2004 i marcu 2005 roku. Wersja 1.2.6 Spring Framework zdobyła Jolt Awards i Jax Innovation Awards w 2006 r. [ 3 ] ​[ 4 ]​ Spring Framework 2.0 został wydany w 2006 r., wersja 2.5 w listopadzie 2007 r., Spring 3.0 w grudniu 2009 r., a Spring 3.1 dwa lata później. [ 5 ] Rozpoczęcie prac nad wersją 4.0 ogłoszono w styczniu 2013 roku. [ 6 ] Obecna wersja to 5.1.6. [ 1 ]

Chociaż podstawowe cechy Spring Framework mogą być wykorzystane w dowolnej aplikacji opracowanej w Javie, istnieje kilka rozszerzeń do budowania aplikacji internetowych na platformie Java EE . Chociaż nie narzuca żadnego konkretnego modelu programowania, framework ten stał się popularny w społeczności, ponieważ jest uważany za uzupełnienie modelu EJB ( Enterprise JavaBean ).

Historia

Pierwsze elementy tego, co stało się Spring Framework, zostały napisane przez Roda Johnsona w 2000 roku, pracując jako niezależny konsultant dla swoich klientów z branży finansowej w Londynie. Pisząc książkę Expert One-on-one J2EE Design and Development (programista do programisty) , Rod rozszerzył swój kod, aby uchwycić swoją wizję tego, jak aplikacje współpracujące z różnymi częściami platformy J2EE mogą stać się prostsze i bardziej wydajne. i firmy korzystały wtedy.

W 2001 roku dominujące modele programowania aplikacji internetowych były oferowane przez Java Servlet API i Enterprise JavaBeans , obie specyfikacje stworzone przez Sun Microsystems we współpracy z innymi dostawcami i interesariuszami, które cieszyły się dużą popularnością w społeczności Java. Aplikacje, które nie były oparte na sieci Web, takie jak aplikacje klienckie lub aplikacje wsadowe , mogą być pisane w oparciu o narzędzia i projekty typu open source lub komercyjne, które zapewniają funkcje wymagane do tych programów.

Wreszcie, po opublikowaniu swojej książki w 2002 roku, Rod Johnson po raz pierwszy zaprezentował swój kod dla frameworka Java Interface 21, który miał stać się podstawą Spring Framework [ 7 ] . Powstał niewielki zespół programistów z nadzieją, że będą pracować nad rozszerzeniem frameworka , aw lutym 2003 r. powstał projekt na Sourceforge . Po ponad roku pracy nad jego rozwojem wydali pierwszą wersję (wersja 1.0) w marcu 2004 r. Po tym wydaniu , Spring zyskał dużą popularność w społeczności Java, po części dzięki wykorzystaniu Javadoc i ponadprzeciętnej dokumentacji referencyjnej dla projektu open source.

Jednak Spring Framework był również mocno krytykowany w 2004 roku i nadal jest przedmiotem gorącej debaty. W momencie pierwszego głównego wydania wielu programistów i liderów myśli postrzegało Spring jako duży krok naprzód w stosunku do tradycyjnego modelu programowania; dotyczyło to zwłaszcza Enterprise JavaBeans. Jednym z celów projektowych Spring Framework jest łatwość integracji z istniejącymi standardami J2EE i narzędziami komercyjnymi. Częściowo eliminuje to potrzebę określenia jego cech w dokumencie specyfikacji sporządzonym przez oficjalną komisję i który mógłby zostać skrytykowany.

Spring Framework sprawił, że techniki nieznane większości programistów stały się popularne w bardzo krótkim czasie. Najbardziej godnym uwagi przykładem jest odwrócenie kontroli . W 2004 r. Spring cieszył się niezwykle wysokim wskaźnikiem przyjęcia, a oferując własny framework programowania zorientowanego aspektowo ( AOP ) sprawił , że jego paradygmat programowania stał się bardziej popularny w społeczności Java. [ potrzebne cytowanie ]

W 2005 r. wiosna przekroczyła wskaźniki rozpowszechnienia z poprzedniego roku dzięki nowym wydaniom i dodaniu większej liczby funkcji. Forum społeczności utworzone wokół Spring Framework (The Spring Forum), które rozpoczęło się pod koniec 2004 roku, również pomogło zwiększyć popularność frameworka i od tego czasu stało się najważniejszym źródłem informacji i pomocy dla jego użytkowników.

Moduły

Spring Framework składa się z kilku modułów, które zapewniają szereg usług:

Odwrócenie kontenera kontrolnego

Sercem Spring Framework jest kontener odwrócenia kontroli (IoC). Jego zadaniem jest tworzenie instancji, inicjowanie i łączenie obiektów aplikacji, a także zapewnianie szeregu dodatkowych funkcji dostępnych w Springu przez cały okres istnienia obiektu. [ 8 ]

Obiekty tworzone i zarządzane przez kontener są nazywane obiektami zarządzanymi lub ziarnami . Obiekty te są typu POJO . Aby wykonać swoje zadanie, kontener potrzebuje informacji wskazujących sposób tworzenia instancji i łączenia ziaren ze sobą . Te informacje są nazywane metadanymi konfiguracyjnymi. Istnieją różne sposoby dostarczania tych informacji: oparte na XML, oparte na adnotacjach lub oparte na obiektach Java (od wersji Spring 3.0). Kontener jest niezależny od formatu metadanych konfiguracji. Użytkownik może używać dowolnego formatu, a nawet mieszać je w tej samej aplikacji. [ 8 ]

Obiekty można uzyskać przez wyszukiwanie zależności lub przez iniekcję zależności . [ 9 ] ​wyszukiwanie zależności to model, w którym zawierający obiekt jest pytany o obiekt o określonej nazwie lub określonym typie. Wstrzykiwanie zależności to model, w którym kontener przekazuje obiekty według nazwy do innych obiektów za pomocą metod konstruktora, właściwości lub metod fabrycznych.

W wielu przypadkach podczas korzystania z innych części Spring Framework nie trzeba używać Wrappera, chociaż korzystanie z niego prawdopodobnie ułatwi konfigurację i dostosowanie aplikacji. Spring Container zapewnia spójny mechanizm konfigurowania aplikacji i integruje się z prawie wszystkimi środowiskami Java, od małych aplikacji po aplikacje dla dużych przedsiębiorstw.

Kontener można częściowo przekształcić w kontener EJB 3.0 za pomocą projektu Pitchfork . Niektórzy krytykują Spring Framework za niezgodność ze standardami. [ 10 ] Jednak SpringSource nie postrzega zgodności z EJB 3 jako ważnego celu, twierdząc, że Spring Framework i kontener pozwalają na bardziej zaawansowane modele programowania. [ 11 ]​ Nie tworzysz obiektu, ale opisujesz, jak powinien zostać utworzony, definiując go w pliku konfiguracyjnym Spring. Nie wywołujesz usług i komponentów, ale mówisz, które usługi i komponenty powinny być wywoływane, definiując je w plikach konfiguracyjnych Spring. Dzięki temu kod jest łatwiejszy w utrzymaniu i łatwiejszy do testowania przy użyciu wstrzykiwania zależności (IoC).

Zobacz także

Uwagi i odniesienia

Bibliografia

Linki zewnętrzne