logo

Анотации за пролетно зареждане

Spring Boot Annotations е форма на метаданни, която предоставя данни за програма. С други думи, анотациите се използват за предоставяне допълнителен информация за програма. Не е част от приложението, което разработваме. Това няма пряк ефект върху работата на кода, който анотират. Това не променя действието на компилираната програма.

В този раздел ще обсъдим някои важни Анотация за пролетно зареждане които ще използваме по-късно в този урок.

Анотации на Core 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, пружинният контейнер автоматично свързва 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 { // ... } 

@Bean: Това е анотация на ниво метод. Това е алтернатива на XML таг. Той казва метода за създаване на боб, който да се управлява от Spring Container.

Пример

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

Анотации за стереотип на Spring Framework

@Компонент: Това е анотация на ниво клас. Използва се за маркиране на Java клас като bean. Java клас, анотиран с @Компонент се намира по време на пътя на класа. Spring Framework го взима и конфигурира в контекста на приложението като a Пролетен боб .

Пример

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

@контролер: @Controller е анотация на ниво клас. Това е специализация на @Компонент . Той маркира клас като манипулатор на уеб заявки. Често се използва за обслужване на уеб страници. По подразбиране той връща низ, който показва кой маршрут да се пренасочи. Използва се предимно с @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 } } 

@Хранилище: Това е анотация на ниво клас. Хранилището е a DAO (обект за достъп до данни), които имат директен достъп до базата данни. Хранилището извършва всички операции, свързани с базата данни.

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

Анотации за пролетно зареждане

    @EnableAutoConfiguration:Той автоматично конфигурира bean-а, който присъства в classpath, и го конфигурира да изпълнява методите. Използването на тази анотация е намалено в изданието 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 ИЗТРИВАНЕ заявки за конкретния метод на манипулатор. Използва се за създаване на крайна точка на уеб услуга, която изтрива ресурс. Използва се вместо да се използва: @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 параметър на метода . Незадължителните елементи на анотацията са име, задължително, стойност, стойност по подразбиране. За всеки детайл в заглавката трябва да посочим отделни анотации. Можем да го използваме многократно в метод@RestController:Може да се разглежда като комбинация от @Контролер и @ResponseBody анотации . Самата анотация @RestController е анотирана с анотацията @ResponseBody. Това елиминира необходимостта от анотиране на всеки метод с @ResponseBody.@RequestAttribute:Той свързва параметър на метод с атрибут на заявка. Той осигурява удобен достъп до атрибутите на заявката от метод на контролер. С помощта на анотацията @RequestAttribute можем да получим достъп до обекти, които са попълнени от страна на сървъра.

Забележка: Използвахме всички горни анотации в нашия урок за уеб услуги RESTful с примери от реалния свят.