JavaRush /Blog Java /Random-PL /Korzyści z używania Springa
Alex
Poziom 37

Korzyści z używania Springa

Opublikowano w grupie Random-PL
Wielu początkujących programistów prędzej czy później natrafia na Spring , popularny framework do tworzenia aplikacji w Javie. Najważniejszą rzeczą, którą pozwala Spring, jest uproszczenie tworzenia aplikacji J2EE dla programisty. Oto główne korzyści, jakie programista uzyskuje korzystając ze Springa:
Korzyści z używania Springa - 1
  • Spring zapewnia ramy dla przyszłej aplikacji, jeśli chcesz pozostawić „puste” miejsce dla swojej przyszłej aplikacji. Jednocześnie framework dyktuje zasady budowania aplikacji - istnieje pewna architektura aplikacji, w którą należy wbudować swoją funkcjonalność. Ta funkcjonalność będzie w rzeczywistości logiką biznesową Twojej aplikacji. Spring zawiera wiele podprojektów dostosowanych do konkretnej funkcjonalności (SpringMVC, Spring Security, SpringData itp. pełną listę można zobaczyć na https://spring.io/projects ), z których programista może wybrać ten najbardziej odpowiedni dla niego, oraz nie używaj reszty - jest to modułowa zasada budowania aplikacji;

  • W aplikacji opartej na Springu obiekty są luźno powiązane za pomocą wstrzykiwania zależności. Jednym z celów Springa było przełamanie zależności jednych obiektów od innych. Co to jest uzależnienie? Dzieje się tak, gdy Obiekt1 korzysta z metod innego Obiektu2, tj. Obiekt1 zależy od Obiektu2, którego metod używa. Dlaczego mu zależy? Ale ponieważ dopóki nie zostanie utworzony obiekt Object2, Object1 nie będzie w stanie zaimplementować swojej funkcjonalności. Jak zerwać z nałogiem? „Wstrzyknij” referencję do obiektu Object2 do obiektu Object1 za pomocą konstruktora lub metody ustawiającej. Proces ten jest w rzeczywistości wstrzykiwaniem zależności. Warto pamiętać, że w Springu obiekty muszą być budowane w oparciu o interfejsy, tak aby zależności były wstrzykiwane w postaci interfejsu w celu ewentualnej późniejszej wymiany implementacji.

  • nie musisz tworzyć obiektów ręcznie za pomocą operatora new. Ta funkcja została delegowana do kontenera Spring. Jest to odwrócenie kontroli (IoC) – przeniesienie funkcji tworzenia instancji niezbędnych zależności (obiektów) do kontenera. Jaka jest w tym wszystkim rola dewelopera, pytasz? Zadeklaruj komponent tak, aby mieścił się w kontekście Spring. Kontekst wiosny, mówiąc najprościej, to mapa, na której znajdują się wszystkie ziarna. Kiedy mówią, że fasola znajduje się w kontekście wiosny, weź pod uwagę, że fasola znajduje się na mapie, a Spring zna klucz do jej wydobycia z mapy. Wszystko, co jest oznaczone jako komponent bean w konfiguracji xml lub w klasach z adnotacjami @Component, jest tworzone i umieszczane na mapie w postaci mapy Map<key,bean>, tj. kontener ma mapę, na której „przechowuje” wszystkie ziarna (kluczowym pojęciem w Springu jest fasola, jest to byt zarządzany przez kontener. Aby fasola (zwykła klasa) mogła zostać zarządzana, musi należeć do Kontekst wiosenny.) i, jeśli to konieczne, implementacja, kontener robi coś takiego: map.get(key), kluczem jest typ pola;

  • Wiosna uwalnia nie tylko od konieczności tworzenia obiektów, ale także ich kojarzenia. Na przykład adnotacja @Autowired umożliwia automatyczne łączenie komponentów. Adnotację wiosny @Autowired można opisać po prostu w ten sposób: drogi przyjacielu, pojemniku ze sprężynami, spójrz na swoją mapę z fasolą, aby zobaczyć, czy masz instancję klasy lub narzędzia tego, przed czym stoję. Jeśli tak to podaj mi link w polu przed którym jestem zadeklarowany. Automatyczne łączenie pozwala zmniejszyć ilość kodu przy określaniu zależności komponentów;

  • Wiosną ustawienia fasoli są oddzielone od kodu programu. Przeniesienie konfiguracji (zarządzanie zależnościami) do osobnego pliku ułatwia późniejsze zmiany w projekcie (podmiana implementacji):


    • poprawiona testowalność. Kiedy klasy są projektowane w oparciu o DI i interfejsy, możliwa staje się łatwa wymiana zależności (fałszywymi implementacjami) podczas testowania;

    • możliwość programowania w stylu deklaratywnym z wykorzystaniem adnotacji zmniejsza ilość kodu w aplikacji;

    • wsparcie i dobra integracja z technologiami dostępu do danych, transakcjami, AOP ułatwia rozwój;

    • dobra dokumentacja bardzo pomaga podczas debugowania aplikacji;
Tym, którzy chcą zrozumieć wiosnę, polecam lekturę K. Wallsa. Wiosna w akcji – wydanie 3 i oczywiście oficjalna dokumentacja.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION