Przejdź do treści
Strona główna » Spring w Akcji 1.2

Spring w Akcji 1.2

java podstawy

Spis treści | Czysty kod

  1. Rozpoczęcie pracy ze Springiem
  2. czym jest Spring

Dependency Injection

Na przykład załóżmy, że wśród wielu komponentów aplikacji są dwa, którymi się zajmiesz: usługa inwentaryzacji (do pobierania stanów magazynowych) i usługa produktu (do dostarczania podstawowych informacji o produktach). Usługa produktowa zależy od usługi inwentaryzacyjnej, aby móc dostarczyć kompletny zestaw informacji o produktach. Rysunek poniżej ilustruje relacje między tymi beanami a kontekstem aplikacji Springa.


Oprócz swojego podstawowego kontenera, Spring i całe portfolio powiązanych bibliotek oferuje szkielet sieciowy, wiele opcji trwałości danych, szkielet bezpieczeństwa, integrację z innymi systemami, monitorowanie w czasie biegu, obsługę mikroserwisów, reaktywny model programowania i wiele innych cech niezbędnych do tworzenia nowoczesnych aplikacji.
Historycznie, sposób w jaki konfigurowałeś kontekst aplikacji Springa, aby połączyć ze sobą beany, był za pomocą jednego lub więcej plików XML, które opisywały komponenty i ich relacje z innymi komponentami. Na przykład poniższy XML deklaruje dwa beany – InventoryService i ProductService, i łączy Inven- toryService z ProductService poprzez argument konstruktora:

W ostatnich wersjach Springa bardziej powszechna jest jednak konfiguracja oparta na adnotacjach. Poniższa klasa konfiguracyjna oparta w Javie jest odpowiednikiem konfiguracji XML:

Adnotacja @Configuration wskazuje Springowi, że jest to klasa konfiguracyjna, która będzie dostarczać beany do kontekstu aplikacji Springa. Meta klasy konfiguracji są opatrzone adnotacją @Bean, wskazującą, że zwracane przez nie obiekty powinny być dodane jako beany w kontekście aplikacji (gdzie domyślnie ich odpowiednie identyfikatory beanów będą takie same jak nazwy definiujących je metod).

Konfiguracja oparta na Javie oferuje kilka korzyści w porównaniu z konfiguracją opartą na XML, w tym większe bezpieczeństwo typów i lepszą refaktoryzację. Mimo to jawna konfiguracja za pomocą Javy lub XML jest konieczna tylko wtedy, gdy Spring nie jest w stanie automatycznie skonfigurować komponentów.
Automatyczna konfiguracja ma swoje korzenie w technikach Springa znanych jako autowiring i skanowanie komponentów. Dzięki skanowaniu komponentów Spring może automatycznie odkryć komponenty ze ścieżki klocków aplikacji i utworzyć je jako beany w kontekście aplikacji Springa. Dzięki autowiringowi, Spring automatycznie wstrzykuje komponenty z innymi fasolami, od których są zależne.


Ostatnio, wraz z wprowadzeniem Spring Boot, automatyczna konfiguracja wyszła daleko poza skanowanie komponentów i autowiring. Spring Boot jest rozszerzeniem Spring Framework, które oferuje kilka ulepszeń wydajności. Najbardziej znanym z tych ulepszeń jest autokonfiguracja, gdzie Spring Boot może rozsądnie zgadywać, jakie komponenty muszą być skonfigurowane i połączone razem, na podstawie wpisów w ścieżce klas, zmiennych środowiskowych i innych czynników.
Chciałbym pokazać Ci jakiś przykładowy kod, który demonstruje autokonfigurację. Ale nie mogę. Widzisz, autokonfiguracja jest jak wiatr. Można zobaczyć jej efekty, ale nie ma kodu, który mógłbym pokazać i powiedzieć „Patrzcie! Oto przykład autokonfiguracji!”. Stuff happens, components are enabled, and functionality is provided without writing code. To właśnie ten brak kodu jest kluczowy dla autokonfiguracji i czyni ją tak wspaniałą.
Autokonfiguracja Spring Boot drastycznie zmniejszyła ilość jawnej konfiguracji (czy to za pomocą XML czy Java) wymaganej do zbudowania aplikacji. W rzeczywistości, zanim skończysz przykład w tym rozdziale, będziesz miał działającą aplikację Spring, która ma tylko jedną linię kodu konfiguracyjnego Spring!


Spring Boot tak bardzo usprawnia rozwój Springa, że trudno sobie wyobrazić tworzenie aplikacji bez niego. Z tego powodu w tej książce Spring i Spring Boot traktowane są jak jedno i to samo. Będziemy używać Spring Boot tak często, jak to możliwe, a jawnej konfiguracji tylko wtedy, gdy będzie to konieczne. A ponieważ konfiguracja Spring XML jest starym sposobem pracy ze Springiem, skupimy się przede wszystkim na konfiguracji Springa w Javie.
Ale dość już tych pogawędek, jazgotów i flejmów. Tytuł tej książki zawiera frazę w działaniu, więc ruszajmy, a będziesz mógł zacząć pisać swoją pierwszą aplikację ze Springiem.

kurs java

Pomocne linki

calculations

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *