Podstawowe adnotacje dotyczące Spring Boot, które każdy powinien znać

Opublikowany: 2021-12-13

Java Spring Framework to platforma typu open source i platforma na poziomie przedsiębiorstwa służąca do tworzenia autonomicznych aplikacji klasy produkcyjnej, które działają na wirtualnej maszynie Java (JVM). W tym celu Java Spring Boot jest narzędziem, które upraszcza i przyspiesza tworzenie aplikacji internetowych oraz mikroserwisów za pomocą Spring Framework. W tym celu Java Spring Boot wykorzystuje trzy podstawowe możliwości – autokonfigurację, ugruntowane podejście do konfiguracji oraz możliwość tworzenia samodzielnych aplikacji. Połączenie tych podstawowych funkcji zapewnia narzędzie, które umożliwia programistom konfigurowanie aplikacji opartych na Spring przy minimalnej konfiguracji.

Przed adnotacjami zachowanie Spring Framework było w większości kontrolowane przez konfigurację XML. Jednak adnotacje Spring Boot radykalnie zmieniły sposób konfigurowania zachowania Spring Framework.

W tym artykule omówimy niektóre z podstawowych adnotacji w Spring Framework.

Spis treści

Czym są adnotacje wiosennego rozruchu?

Adnotacje Spring Boot są formą metadanych. Nie są one częścią opracowywanej aplikacji same w sobie, ale dostarczają dodatkowych danych o programie. Adnotacje nie mają bezpośredniego wpływu na działanie kodu, który opatrują, ani nie zmieniają działania skompilowanego programu.

Aplikacje wiosenne wymagają znacznego stopnia konfiguracji. Spring Boot to uparty framework, który opiera się na Spring Framework. Minimalizuje nakłady związane z konfiguracją i schematem, który trzeba zacząć. Adnotacje Spring Boot są kluczem do uzyskania kontroli nad Spring Framework, kierowania strukturą i zastępowania jej wartości domyślnych, gdy jest to wymagane. Te adnotacje są łatwe w użyciu i szybsze niż tworzenie równoważnych funkcji od podstaw.

Adnotacje o wiosennych butach, które każdy powinien znać

Chociaż Spring Boot działa w Javie, Groovy i Kotlin, skupimy się na Javie, omawiając ważne adnotacje Spring Boot.

1. @Konfiguracja

@Configuration jest używany w klasach, które definiują ziarna. Analogiem pliku konfiguracyjnego XML jest adnotacja na poziomie klasy używana jako źródło definicji ziaren. Klasa Java z adnotacją @Configuration jest konfiguracją samą w sobie i ma metody konfiguracji i tworzenia wystąpień zależności.

Przykład:

@Konfiguracja

autobus klasy publicznej

{

@Silnik BeanBus()

{

zwróć nowy Bus();

}

}

2. @fasola

Jako alternatywa dla tagu <bean> XML, adnotacja @Bean jest używana na poziomie metody, aby wskazać, że metoda tworzy ziarno, które ma być zarządzane przez kontener Spring. Ta adnotacja współpracuje z @Configuration w celu tworzenia fasolek wiosennych. @Configuration posiada metody konfiguracji i tworzenia instancji zależności, a takie metody są opisane przez @Bean.

Przykład:

@Fasola

Przykład fasoli publicznej Przykład fasoli ()

{

zwróć nowy BeanExample (),

}

3. @ComponentScan

Adnotacja @ComponentScan służy do skanowania paczki ziaren. Jest używany wraz z adnotacją @Configuration, aby poinformować Spring o pakietach, które należy przeskanować w poszukiwaniu komponentów z adnotacjami.

Przykład:

@ComponentScan(basePackages = „com.xyz”)

@Konfiguracja

Klasa publiczna ScanComponent

{

//…

}

4. @Komponent

Adnotacja @Component jest używana w klasach do oznaczenia komponentu Spring. Jest to adnotacja na poziomie klasy, która podczas automatycznego skanowania konwertuje klasę na Spring bean.

Przykład:

@Składnik

Nauczyciele klas publicznych

{

……

}

5. @Włącz automatyczną konfigurację

Adnotacja @EnableAutoConfiguration jest zwykle umieszczana w głównej klasie aplikacji i niejawnie definiuje podstawowy pakiet wyszukiwania. Na podstawie ustawień ścieżki klas, różnych ustawień właściwości i innych ziaren, @EnableAutoConfiguration kieruje Spring Boot do rozpoczęcia dodawania ziaren.

6. @SpringBootAplikacja

Adnotacja @SpringBootApplication dodaje trzy adnotacje — @Configuration, @EnableAutoConfiguration i @ComponentScan. Jest używany w klasie aplikacji podczas konfigurowania projektu Spring Boot, a klasa z adnotacją @SpringBootApplication jest umieszczana w pakiecie podstawowym. @SpringBootApplication skanuje komponenty, ale tylko podpakietów.

7. @Repozytorium

Adnotacja @Repository jest używana w klasach Java, które mają bezpośredni dostęp do bazy danych. Działa jako znacznik dla klas pełniących rolę obiektu dostępu do danych lub repozytorium.

Przykład:

@Magazyn

public class TestRepository

{

publiczne nieważne usuń ()

{

// kod trwałości

}

}

8. @Usługa

Jest to adnotacja na poziomie klasy, która oznacza klasę Java wykonującą usługę, taką jak wykonywanie logiki biznesowej, wykonywanie obliczeń lub wywoływanie zewnętrznych interfejsów API. Adnotacja @Service to specjalna forma adnotacji @Component do użytku w warstwie usług.

Przykład:

@Usługa

TestService klasy publicznej

{

publiczna nieważna usługa1()

{

// kod biznesowy

}

}

9. @Autowired

Ta adnotacja niejawnie wstrzykuje zależność obiektu i jest stosowana do pól, konstruktorów i metod ustawiających. Kiedy @Autowired jest używany w polach, a wartości dla pól są przekazywane przy użyciu nazwy właściwości, Spring automatycznie przypisuje pola z przekazanymi wartościami.

10. @Kontroler

Adnotacja @Controller jest używana w klasach Java, które służą jako kontroler w aplikacji. Pozwala to na automatyczne wykrywanie klas komponentów w ścieżce klas, a także na automatyczne rejestrowanie dla nich definicji ziaren. Adnotacja @Controller jest zwykle używana z @RequestMapping, a klasy Java z adnotacjami @Controller mogą obsługiwać wiele mapowań żądań.

Przykład:

@Kontroler

@RequestMapping(„samochody”)

Public Class CarsController

{

@RequestMapping(value= „/{name}”, method=RequestMethod.GET)

public Pracownik getCarsByName()

{

Zwróć samochodySzablon;

}

}

11. @Żądanie mapowania

Adnotacja @RequestMapping jest używana zarówno na poziomie metody, jak i klasy. Służy do mapowania żądań internetowych na określone metody obsługi i klasy obsługi. Gdy @RequestMapping jest używany w metodach, podaje adres URL, na którym nastąpi wykonanie metod obsługi. Wręcz przeciwnie, gdy adnotacja jest używana na poziomie klas, tworzy bazowy adres URL, dla którego będzie używany kontroler. W związku z tym każda metoda obsługi będzie miała swoje odpowiednie mapowanie żądania, podczas gdy mapowanie żądania na poziomie klasy pozostaje takie samo.

Przykład:

@Kontroler

Public Class FlowersController

{

@RequestMapping („/kolor czerwony/kwiaty”)

public String getAllFlowers (model modelu)

{

//kod aplikacji

zwróć „listę kwiatów”;

}

12. @Kwalifikator

@Qualifier jest używany razem z @Autowired, gdy potrzebna jest większa kontrola nad procesem wstrzykiwania zależności. Adnotację @Qualifier można określić w parametrach metody lub w poszczególnych argumentach konstruktora. Zamieszanie zwykle pojawia się, gdy deweloper tworzy więcej niż jedną fasolę tego samego rodzaju, ale tylko jedna z nich musi być połączona z nieruchomością. Adnotacja @Qualifier przydaje się, aby wyeliminować te niejasności.

Przykład:

@Składnik

public class BeanB1 implementuje BeanInterface {

//

}

@Składnik

public class BeanB2 implementuje BeanInterface {

//

}

W powyższym przykładzie BeanInterface jest zaimplementowany przez dwa ziarna BeanB1 i BeanB2. Teraz, jeśli BeanA automatycznie podłączy ten interfejs, Spring nie będzie wiedział, którą z dwóch implementacji powinien wstrzyknąć. Możesz rozwiązać ten problem za pomocą adnotacji @Qualifier. Dzięki tej adnotacji Spring będzie wiedział, który z ziaren ma zostać automatycznie podłączony.

@Składnik

klasa publiczna FasolaA {

@Autowired

@Kwalifikator(„fasolaB2”)

prywatna zależność BeanInterface;

}

13. @Wartość

Adnotacja @Value jest używana na poziomie pola, parametru metody i parametru konstruktora. Oznacza wyrażenie wartości domyślnej dla parametru lub pola, za pomocą którego ma zostać zainicjowana właściwość.

14. @Lazy

Adnotacja @Lazy jest stosowana do klas składowych. Podczas uruchamiania wszystkie zależności autowired są domyślnie tworzone i konfigurowane. Ale adnotacji @Lazy można użyć, jeśli programista chce leniwie zainicjować fasolę. W ten sposób ziarno jest tworzone i inicjowane tylko na żądanie. Adnotacji @Lazy można również używać w klasach @Configuration, co oznacza, że ​​wszystkie metody @Bean w tej @Configuration będą inicjowane leniwie.

Chociaż ta lista adnotacji Java Spring Boot nie jest wyczerpująca, zawiera mniej więcej te najbardziej podstawowe, które każdy programista lub entuzjasta Javy powinien znać. W końcu Spring Boot uprościł tworzenie aplikacji opartych na Springu i warto go poznać.

Master of Science in Data Science z Liverpool John Moores University

Jeśli jesteś początkującym naukowcem zajmującym się danymi, oto okazja, by uczyć się od najlepszych. upGrad oferuje online Master of Science in Data Science we współpracy z Liverpool John Moores University, specjalnie zaprojektowany dla pracujących profesjonalistów, którzy chcą doskonalić swoje umiejętności i wiedzę w zakresie analizy danych.

Oto kilka najważniejszych informacji o programie:

  • Stopień magistra z LJMU i Executive PGP z IIT Bangalore
  • Ponad 500 godzin nauki wypełnionych sesjami na żywo, studiami przypadków i projektami
  • Kompleksowa oferta 14+ narzędzi i oprogramowania
  • Trzy unikalne specjalizacje
  • 360-stopniowa dedykowana pomoc w karierze
  • Uczenie się rówieśników i sieci branżowe

Wciągające i związane z branżą programy edukacyjne upGrad wpłynęły na ponad 500 000 pracujących profesjonalistów na całym świecie i nadal wyznaczają wysokie standardy w wyższej branży EdTech. Aplikuj już dziś i dołącz do ponad 40 000 globalnej bazy uczniów w 85 krajach!

Ucz się online kursów nauki o danych z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Jaki jest cel rozrusznika Spring Boot?

Startery Spring Boot to deskryptory zależności, które umożliwiają dodawanie plików jar w ścieżce klas. Każdy starter ma następujący wzorzec nazewnictwa w ramach Spring Boot: spring-boot-starter-*, gdzie * reprezentuje konkretny typ aplikacji.

Jaka jest różnica między @SpringBootApplication a @EnableAutoConfiguration?

Podstawowym zadaniem @EnableAutoConfiguration jest włączenie funkcji automatycznej konfiguracji aplikacji Spring Boot. Wręcz przeciwnie, @SpringBootApplication łączy trzy adnotacje - @ComponentScan do skanowania komponentów, @Configuration do konfiguracji opartej na Javie na platformie Spring oraz @EnableAutoConfiguration do umożliwienia automatycznej konfiguracji w aplikacjach Spring Boot.

Czy Spring Boot może działać bez SpringBootApplication?

Używanie @SpringBootApplication do tworzenia aplikacji Spring Boot nie jest obowiązkowe. Nadal możesz używać @EnableAutoConfiguration i @Configuration indywidualnie.