logo

Анотації Spring Boot

Spring Boot Annotations — це форма метаданих, яка надає дані про програму. Іншими словами, анотації використовуються для надання додатковий інформація про програму. Це не частина програми, яку ми розробляємо. Це не має прямого впливу на роботу коду, який вони анотують. Це не змінює дії скомпільованої програми.

У цьому розділі ми обговоримо деякі важливі Анотація Spring Boot який ми будемо використовувати пізніше в цьому підручнику.

Анотації основної Spring Framework

@Вимагається: Це стосується квасоля метод встановлення. Це вказує, що анотований bean-компонент має бути заповнений під час конфігурації необхідною властивістю, інакше він викидає виняток BeanInitilizationException .

приклад

 public class Machine { private Integer cost; @Required public void setCost(Integer cost) { this.cost = cost; } public Integer getCost() { return cost; } } 

@Autowired: Spring забезпечує автоматичне підключення на основі анотацій, надаючи анотацію @Autowired. Він використовується для автоматичного підключення Spring bean до методів установщика, змінної екземпляра та конструктора. Коли ми використовуємо анотацію @Autowired, контейнер spring автоматично підключає bean, відповідаючи типу даних.

приклад

 @Component public class Customer { private Person person; @Autowired public Customer(Person person) { this.person=person; } } 

@Конфігурація: Це анотація на рівні класу. Клас, анотований @Configuration, який використовується Spring Containers як джерело визначень компонентів.

приклад

 @Configuration public class Vehicle { @BeanVehicle engine() { return new Vehicle(); } } 

@ComponentScan: Він використовується, коли ми хочемо сканувати пакет на наявність компонентів. Він використовується з анотацією @Configuration. Ми також можемо вказати базові пакунки для сканування компонентів Spring.

приклад

 @ComponentScan(basePackages = 'com.javatpoint') @Configuration public class ScanComponent { // ... } 

@Бін: Це анотація на рівні методу. Це альтернатива тегу XML. Він вказує метод для створення bean-компонента, яким керуватиме Spring Container.

приклад

 @Bean public BeanExample beanExample() { return new BeanExample (); } 

Стереотипні анотації Spring Framework

@Component: Це анотація на рівні класу. Він використовується для позначення класу Java як bean. Клас Java з анотацією @Component знайдено під час шляху до класу. Spring Framework підбирає його та налаштовує в контексті програми як a Весняний Бін .

приклад

 @Component public class Student { ....... } 

@Контролер: @Controller — це анотація на рівні класу. Це спеціалізація @Component . Він позначає клас як обробник веб-запитів. Його часто використовують для обслуговування веб-сторінок. За замовчуванням він повертає рядок, який вказує, який маршрут перенаправити. В основному використовується з @RequestMapping анотація.

приклад

 @Controller @RequestMapping('books') public class BooksController { @RequestMapping(value = '/{name}', method = RequestMethod.GET) public Employee getBooksByName() { return booksTemplate; } } 

@Сервіс: Він також використовується на рівні класу. Він повідомляє весні, що клас містить бізнес-логіка .

приклад

 package com.javatpoint; @Service public class TestService { public void service1() { //business code } } 

@Repository: Це анотація на рівні класу. Репозиторій є a DAO (Data Access Object), які мають прямий доступ до бази даних. Репозиторій виконує всі операції, пов’язані з базою даних.

 package com.javatpoint; @Repository public class TestRepository { public void delete() { //persistence code } } 

Анотації Spring Boot

    @EnableAutoConfiguration:Він автоматично конфігурує компонент, який присутній у шляху до класів, і налаштовує його для запуску методів. Використання цієї анотації зменшено у випуску Spring Boot 1.2.0, оскільки розробники надали альтернативу анотації, тобто @SpringBootApplication .@SpringBootApplication:Це комбінація трьох анотацій @EnableAutoConfiguration, @ComponentScan, і @Конфігурація .

Анотації Spring MVC і REST

    @RequestMapping:Він використовується для картографування веб-запити . Він має багато додаткових елементів, таких як споживає, заголовок, метод, ім'я, параметри, шлях, створює , і значення . Ми використовуємо його як з класом, так і з методом.

приклад

 @Controller public class BooksController { @RequestMapping('/computer-science/books') public String getAllBooks(Model model) { //application code return 'bookList'; } 
    @GetMapping:Він відображає HTTP GET запити на конкретний метод обробки. Він використовується для створення кінцевої точки веб-служби, яка отримує Він використовується замість використання: @RequestMapping(метод = RequestMethod.GET) @PostMapping:Він відображає HTTP POST запити на конкретний метод обробки. Він використовується для створення кінцевої точки веб-служби, яка створює Він використовується замість використання: @RequestMapping(метод = RequestMethod.POST) @PutMapping:Він відображає HTTP PUT запити на конкретний метод обробки. Він використовується для створення кінцевої точки веб-служби, яка створює або оновлення Він використовується замість використання: @RequestMapping(метод = RequestMethod.PUT) @DeleteMapping:Він відображає HTTP DELETE запити на конкретний метод обробки. Він використовується для створення кінцевої точки веб-служби, яка видаляє ресурс. Він використовується замість використання: @RequestMapping(метод = RequestMethod.DELETE) @PatchMapping:Він відображає HTTP ПАТЧ запити на конкретний метод обробки. Він використовується замість використання: @RequestMapping(метод = RequestMethod.PATCH) @RequestBody:Це звикло зв'язати HTTP-запит із об’єктом у параметрі методу. Внутрішньо використовується Перетворювачі повідомлень HTTP щоб перетворити тіло запиту. Коли ми коментуємо параметр методу за допомогою @RequestBody, структура Spring прив’язує тіло вхідного HTTP-запиту до цього параметра.@ResponseBody:Він прив’язує значення, яке повертає метод, до тіла відповіді. Він повідомляє Spring Boot Framework серіалізувати повернення об’єкта у форматі JSON і XML.@PathVariable:Він використовується для отримання значень з URI. Він найбільше підходить для веб-служби RESTful, де URL-адреса містить змінну шляху. Ми можемо визначити декілька @PathVariable у методі.@RequestParam:Він використовується для отримання параметрів запиту з URL-адреси. Він також відомий як a параметр запиту . Він найбільше підходить для веб-додатків. Він може вказати значення за замовчуванням, якщо параметр запиту відсутній в URL-адресі.@RequestHeader:Він використовується для отримання інформації про заголовки запитів HTTP. Ми використовуємо цю анотацію як a параметр методу . Додатковими елементами анотації є ім'я, обов'язкове, значення, defaultValue. Для кожної деталі в заголовку ми повинні вказати окремі анотації. Ми можемо використовувати його кілька разів у методі@RestController:Його можна розглядати як поєднання @Контролер і @ResponseBody анотації . Сама анотація @RestController анотована анотацією @ResponseBody. Це усуває потребу анотувати кожен метод за допомогою @ResponseBody.@RequestAttribute:Він прив’язує параметр методу до атрибута запиту. Він забезпечує зручний доступ до атрибутів запиту з методу контролера. За допомогою анотації @RequestAttribute ми можемо отримати доступ до об’єктів, які заповнюються на стороні сервера.

Примітка. Ми використали всі наведені вище анотації в нашому навчальному посібнику з веб-служб RESTful із реальними прикладами.