Рубрики
Без рубрики

Аннотации когнитивного контроля в Spring Boot

Аннотации когнитивного контроля в Spring boot позволяют создавать аннотации с соответствующими зависимостями… С тегами web dev, java, management, spring.

Аннотации когнитивного контроля в Spring boot позволяют создавать аннотации с соответствующим внедрением зависимостей.

В статье основное внимание уделяется когнитивному контролю аннотации (аннотаций). Особенно @Annotation (@-при широком использовании в аннотациях весной) и практическая реализация в реальном проекте. Действительно, вы можете использовать бесплатный открытый исходный код здесь, на github. Просто нажмите на нее

Действительно, мы рассмотрим список аннотаций весной ниже.

@SpringBootApplication (см. Рисунок-1. Аннотация в Spring Boot)

  • Аннотация указывает на класс конфигурации, который объявляет один или несколько методов @Bean, а также запускает автоматическую настройку и сканирование компонентов.
  • Это удобная аннотация, которая эквивалентна объявлению @Configuration, @EnableAutoConfiguration и @ComponentScan.

Рисунок-1. Аннотация в весеннем ботинке.

Более подробная информация приведена в аннотации ниже на этой стороне.

  • @EnableAutoConfiguration – включить механизм автоматической настройки Spring Boot
  • @@Componentscan – включить сканирование @Component в пакете, в котором находится приложение.
  • @Configuration – позволяет регистрировать дополнительные компоненты в контексте или импортировать дополнительные классы конфигурации.

Кроме того, мы будем аннотировать метод компонента с помощью @Async, чтобы он выполнялся в отдельном потоке, т.е. вызывающий не будет ждать завершения вызываемого метода. (см. Рисунок-2). Если вы уже работали над приложением Spring или Spring Boot и вам необходимо использовать асинхронный механизм, то следующие три быстрых шага помогут в настройке.

Рисунок-2. Асинхронная аннотация к методу.

Обратите внимание, что Spring использует библиотеку Jackson JSON для преобразования JSON-ответа GitHub в пользовательский объект. Аннотация @JsonIgnoreProperties сигнализирует Spring игнорировать любые атрибуты, не перечисленные в классе. Это упрощает выполнение вызовов REST и создание объектов домена. В этой статье мы используем название и URL-адрес блога только в демонстрационных целях.

Рисунок-3 Архитектурная структура класса. (смотрите больше кода в github )

Что мы будем здесь строить?

Действительно, мы создадим службу поиска, которая запрашивает информацию о пользователе GitHub и извлекает данные через API GitHub. Один из подходов к масштабированию сервисов заключается в выполнении дорогостоящих заданий в фоновом режиме и ожидании результатов с использованием интерфейса Java CompletableFuture. Завершаемое будущее Java – это эволюция обычного будущего. Это упрощает конвейерное выполнение нескольких асинхронных операций, объединяя их в одно асинхронное вычисление.

Класс службы поиска GitHub использует RestTemplate Spring для вызова удаленной точки СБРОСА (api.github.com/users/), а затем преобразуйте ответ в пользовательский объект. Spring Boot автоматически предоставляет Rest TemplateBuilder, который настраивает значения по умолчанию с помощью любых битов автоматической настройки (например, MessageConverter). Метод findUser помечен аннотацией Spring @Async, указывающей, что он будет выполняться в отдельном потоке. Возвращаемый тип метода – CompletableFuture вместо User, что является обязательным требованием для любой асинхронной службы. Этот код использует метод Completedfuture для возврата экземпляра CompletableFuture, который уже завершен с результатом запроса GitHub.

Запущенное приложение

  • Мы можем запустить автономное приложение Spring boot двумя способами. Мы используем maven, поэтому просто запустите приложение с помощью ./mvn spring-boot:run. Или вы можете создать файл JAR с помощью ./mvn clean package. Затем вы можете запустить файл JAR:
  • На приведенной ниже диаграмме показано, как запустить приложение spring boot из IDE – щелкните правой кнопкой мыши – запустите as – Spring boot Async Application.main() метод как отдельный класс Java.

Кроме того, список всех аннотаций и краткое объяснение:

@Autowired
@Qualifier("laptop") this may use component regarding laptop name... (ex>= 
Component("lap1")
@autoconfiguration
-------------------------
@Bean
@Configuration
@Control 
@Component
@ComponentScan
-------------------------
@Data ---> at the class level is provided by Lombok and tells Lombok to 
generate all of those missing methods. 
@DeleteMapping
-------------------------
@EnableAutoConfiguration
@Entity
@EnableWebSecurity
------------------------
@ManyToMany (targetEntity=Ingredient.class_)
@ManyToOne
------------------------
@NotNull 
@NotBlank
@NoArgsConstructor ( access=AccessLevel.PRIVATE, force=true)
------------------------
@GetMapping
-------------------------
@Service
@SpringBootApplication
@SpringBootTest
@Size
@Slf4j - Simple Logging Facade for Java. Lombok's @Slf4j annotation to create 
a free SLF4J Logger object at runtime.
@SessionAttributes
@SuppressWarnings("")
-------------------------
@PostMapping
@PutMapping
@PatchMapping
@PrePersist
@Profile
-------------------------
@RunWith(SpringRunner.class)---> prividing a test runner that guides JUnit in 
running a test. Plugin to JUnit to provide custom.
@Repository
@RequestMapping
@RequiredArgsConstructor
-- ----------------------
@Table
------------------------ 
@Query("")
------------------------
@Valid
------------------------
@WebMvcTest  - set up Spring support for testing Spring MVC. Although it 
could be made to start a server, mocking the mechanics of Spring MVC.

Аналогично, вы можете использовать API github, просто бесплатно используйте его. API Github

Оригинал: “https://dev.to/urunov/cognitive-control-annotations-in-spring-boot-23io”