Похожие презентации:
@Component
1.
@Component2.
@Component@Component — специальная аннотация, которая говорит спрингу, что класс помеченный этой аннотацией следует зарегистрировать как Bean в
контексте приложения(или же в нашем контейнере). Но помимо @Component, Spring также ищет и другие аннотации для регистрации компонентов(или
же Bean). Эти аннотации используют @Component как мета-аннотацию или же аннотацию, которую можно использовать в других аннотациях.
То есть, когда Spring находит аннотацию, в которой есть аннотация @Component, это также говорит спрингу что нужно зарегистрировать этот
компонент в контейнере.
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Controller {
@AliasFor(
annotation = Component.class
)
String value() default "";
}
3.
@AliasFor@AliasFor — своеобразная аннотация, которая нужна для переопределения атрибутов мета-аннотации. Если мы
хотим переопределить какой-либо атрибут мета-аннотации, мы должны указать непосредственно сам атрибут и
повесить на него аннотацию @AliasFor().
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
@AliasFor(
annotation = Controller.class
)
String value() default "";
}
4.
@Controller и @RestControllerЧтобы объявить наш класс контроллером, нам необходимо повесить на него аннотацию @Controller.
@Controller — это аннотация, которая внутри себя использует аннотацию @Component, а
следовательно класс помеченный этой аннотацией будет зарегистрирован в контейнере как Bean.
Класс контроллер — это класс отвечающий за предоставление точек доступа к системе извне.
Другими словами, методы контроллера можно вызвать не только из других частей системы, но
и сделав верный REST-запрос.
Одна из самых важных вещей свойственных контроллеру, это маппинг. Реализуется он при помощи
аннотации @RequestMapping(). Маппинг это ничто иное как адрес для REST-запроса, при вызове
которого, будет вызван необходимый метод.
5.
@Controller и @RestController@RestController — это аннотация, которая содержит в
себе смесь @Controller и @ResponseBody. Ведет себя
она точно также как и @Controller за одним небольшим
исключением — все методы описанные в @RestController
будут возвращать результат в формате JSON. За это
как раз и отвечает аннотация @ResponseBody.
По своей сути, аннотация @RestController — это
современный стиль написания приложений, когда
серверная часть приложения просто отвечает на запросы
в понятном для любой системы формате — JSON.
6.
@Service@Service — это аннотация, которая используется для
описания слоя бизнес-логики.
Бизнес-логика — это особый слой приложения, который как
раз и выполняет требуемые клиентом задачи(обработка
данных, подсчет различных коэффицентов, сбор статистики
и т. д.).
Но с этой аннотацией есть один маленький ньюанс, на
самом деле она абсолютно ничем не отличается от
аннотации @Component. Если заменить @Service на
@Component, все продолжит работать также как и работало.
7.
Сегодня мы познакомились с начальными аннотациями,далее мы продолжим изучать, какие еще аннотации есть
в Spring и Spring Boot.
Программирование