English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Аннотации Spring Boot являются формой метаданных, которые предоставляют информацию о программе. Иными словами, аннотации используются для предоставления информации о дополнениеинформация. Она не является частью разработанного нами приложения. Она не оказывает直接影响 на операции кода, на который она ссылаются. Не изменяет работу скомпилированного приложения.
В этой главе мы обсудим некоторые важные аннотации Spring BootМы будем использовать это в后面的教程部分。
@Required: Он подходит для bean Установочный метод. Он указывает, что необходимо заполнить аннотированный 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. Он используется для автоматического подключения setter методов, переменных и конструкторов spring bean. При использовании аннотации @Autowired контейнер Spring автоматически подключает bean через соответствие типов.
Пример
@Component public class Customer { private Person person; @Autowired public Customer(Person person) { this.person = person; } }
@Configuration: : Это аннотация классового уровня. Классы с аннотацией @Configuration используются контейнерами Spring в качестве источников определения bean.
Пример
@Configuration public class Vehicle { @BeanVehicle engine() { return new Vehicle(); } }
@ComponentScan: : Используется для сканирования bean в пакете. Он используется вместе с аннотацией @Configuration. Мы также можем指定 базовые пакеты для сканирования Spring компонентов.
Пример
@ComponentScan(basePackages = "com.w3codebox") @Configuration public class ScanComponent { // ... }
@Bean: Это аннотация методного уровня. Она аналогична XML
Пример
@Bean public BeanExample beanExample() { return new BeanExample(); }
@Component: @Component: @Component . Это аннотация уровня класса. Она используется для маркировки Java-класса в качестве Bean. В классовом пути был найден класс с Java-класс с аннотацией Spring Bean. Spring фреймворк его захватывает и настраивает его в контексте приложения .
Пример
@Component public class Student { ...... }
@Controller: @Controller - это аннотация уровня класса. Это @Component специализация. Она маркирует класс в качестве обработчика веб-запросов. Обычно используется для обслуживания веб-страниц. По умолчанию он возвращает строку, указывающую на маршрут для перенаправления. Обычно используется вместе с @RequestMapping аннотации используются вместе.
Пример
@Controller @RequestMapping("books") public class BooksController { @RequestMapping(value = "{name}", method = RequestMethod.GET) public Employee getBooksByName() { return booksTemplate; } }
@Service: также используется на уровне класса. Она сообщает Spring, что этот класс содержит бизнес-логика.
Пример
пакет com.w3codebox; @Service public class TestService { public void service1() { //код Business } }
@Repository: Это аннотация уровня класса. Этот репозиторий напрямую доступен к базе данных DAO (Объект доступа к данным). Этот репозиторий выполняет все операции, связанные с базой данных.
пакет com.w3codebox; @Repository public class TestRepository { public void delete() { //код Persistence } }
@EnableAutoConfiguration: : она автоматически конфигурирует beans, существующие в классовом пути, и настраивает их для выполнения методов. В версии выпуска Spring Boot 1.2.0 использование этой аннотации было сокращено, так как разработчики предоставили замену для этой аннотации, namely @SpringBootApplication . @SpringBootApplication: : это три аннотации @EnableAutoConfiguration, @ComponentScan,и @Configuration сочетание.
@RequestMapping: Для маппингаСетевые запросыУ него есть множество опциональных элементов, таких как consumes, header, method, name, params, path, produces и value. Мы используем его вместе с классом и методом.
Пример
@Controller public class BooksController { @RequestMapping("/computer-science/books") public String getAllBooks(Model model) { //application code return "bookList"; } }
@GetMapping: Он привязывает HTTP GET Маппинг запроса на конкретный обработчик метода. Он используется для созданияВзятияВеб-сервисного точки终结а, вместо @RequestMapping(method = RequestMethod.GET) @PostMapping Он привязывает HTTP POST Маппинг запроса на конкретный обработчик метода. Он используется для созданияСозданияВеб-сервисного точка终结а, вместо @RequestMapping(method = RequestMethod.POST) @PutMapping: Он привязывает HTTP PUT Маппинг запроса на конкретный обработчик метода. Он используется для созданияСозданияилиОбновленияВеб-сервисного точка终结а, вместо @RequestMapping(method = RequestMethod.PUT) @DeleteMapping: Он привязывает HTTP DELETE Маппинг запроса на конкретный обработчик метода. Он используется для созданияУдаленияВеб-сервисный точка終端 для ресурсов. Используйте его вместо @RequestMapping(method = RequestMethod.DELETE) @PatchMapping: Он привязывает HTTP PATCH Маппинг запроса на конкретный обработчик метода. Используйте его вместо @RequestMapping(method = RequestMethod.PATCH) @RequestBody: Для привязки объекта HTTP-запроса к объекту в параметрах метода.ПривязкаВнутри он использует HTTP MessageConverters Преобразование текста запроса. Когда мы используем При аннотации метода параметром @RequestBody, Spring-фреймворк привязывает传入ный тело HTTP-запроса к этому параметру. @ResponseBody: Он связывает возвращаемое значение метода с телом ответа. Он сообщает Spring Boot Framework о том, что возвращаемый объект должен быть сериализован в формате JSON и XML. @PathVariable: для извлечения значений из URI. Он идеально подходит для RESTful Web-сервисов, где URL содержит переменные пути. Мы можем определить несколько @PathVariable в одном методе. @RequestParam: для извлечения параметров запроса из URL. Также называетсяПараметры запроса.Он идеально подходит для веб-приложений. Если в URL нет параметров запроса, можно указать значение по умолчанию. @RequestHeader: для получения подробной информации о заголовках HTTP-запроса. Мы используем этот аннотации какпараметры метода.Опциональные элементы аннотации:имя, обязательно, значение, defaultValue. Для каждого细节 в заголовке мы должны определить отдельную аннотацию. Мы можем использовать ее несколько раз в одном методе @RestController: Ее можно рассматривать как @Controller и @ResponseBody Аннотациясочетание. Аннотация @RestController本身就 аннотирована аннотацией @ResponseBody. Не нужно аннотировать каждый метод аннотацией @ResponseBody. @RequestAttribute: Он связывает параметры метода с свойствами запроса. Он предоставляет удобный способ доступа к свойствам запроса из методов контроллера. С помощью аннотации @RequestAttribute мы можем получить объекты, заполненные на сервере.