Перейти к основному содержимому

· 5 мин. чтения

1. Обзор

Обычно мы используем аннотации JUnit, такие как @BeforeEach, @AfterEach, @BeforeAll и @AfterAll, для управления жизненным циклом тестов, но иногда этого недостаточно, особенно когда мы работаем с инфраструктурой Spring.

Вот где Spring TestExecutionListener пригодится.

В этом руководстве мы увидим, что предлагает TestExecutionListener , прослушиватели по умолчанию, предоставляемые Spring, и как реализовать собственный TestExecutionListener .

2. Интерфейс TestExecutionListener

· 7 мин. чтения

1. Обзор

В этой статье речь пойдет о работе с ETags в Spring , интеграционном тестировании REST API и сценариях потребления с помощью curl .

2. REST и ETag

Из официальной документации Spring по поддержке ETag:

· 4 мин. чтения

1. Обзор

Иногда мы хотим скрыть возможность получить или установить значение поля в наших объектах. Но Lombok автоматически генерирует геттер/сеттер по умолчанию. В этом кратком руководстве мы покажем, как мы можем исключить геттеры и сеттеры из генерации Lombok. Подробный обзор библиотеки Project Lombok также доступен в разделе Introduction to Project Lombok .

Прежде чем продолжить, мы должны установить плагин Lombok в нашу IDE .

2. Зависимости

Во-первых, нам нужно добавить Lombok в наш файл pom.xml :

· 3 мин. чтения

1. Обзор

В этой статье мы узнаем разницу между обнаружением bean-компонентов в Quarkus и классическими средами Jakarta EE. Мы сосредоточимся на том, как обеспечить, чтобы Quarkus мог обнаруживать аннотированные классы во внешних модулях.

2. Почему Quarkus нуждается в индексировании

Одним из основных преимуществ Quarkus является чрезвычайно быстрая загрузка. Для этого Quarkus переносит такие этапы, как сканирование аннотаций пути к классам, из среды выполнения во время сборки. Для этого нам нужно объявить все зависимости во время сборки.

Таким образом, расширение приложения с помощью пути к классам в среде выполнения больше невозможно. Индексация вступает в игру, когда во время сборки собираются метаданные. Индексация означает хранение метаданных в индексном файле. Это позволяет приложению быстро считывать его при запуске или всякий раз, когда это необходимо.

· 3 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим и сравним различные способы запуска и остановки запланированного задания Spring Batch для любых необходимых бизнес-кейсов.

Если вам нужны общие сведения о Spring Batch и Scheduler, обратитесь к статьям Spring-Batch и Spring-Scheduler .

2. Запустите запланированное пакетное задание Spring

Во-первых, у нас есть класс SpringBatchScheduler для настройки планирования и пакетного задания. Метод launchJob() будет зарегистрирован как запланированная задача.

· 5 мин. чтения

1. Обзор

Проще говоря, ядро Spring Framework — это контейнер IoC, используемый для управления bean-компонентами.

В Spring есть два основных типа контейнеров — Bean Factory и Application Context. Первый предоставляет базовые функции, которые представлены здесь ; последний является надмножеством первого и наиболее широко используется.

ApplicationContext — это интерфейс в пакете org.springframework.context , который имеет несколько реализаций, и ClassPathXmlApplicationContext — одна из них.

В этой статье мы сосредоточимся на полезных функциях, предоставляемых ClassPathXmlApplicationContext .

2. Основное использование

· 5 мин. чтения

1. Введение

В этом уроке мы сосредоточимся на Spring MVC HandlerInterceptor. В частности, мы изменим параметры модели Spring MVC до и после обработки запроса.

Если вы хотите прочитать об основах HandlerInterceptor , ознакомьтесь с этой статьей .

2. Зависимости Maven

Чтобы использовать Interceptors , вам необходимо включить следующий раздел в раздел зависимостей вашего файла pom.xml :

· 3 мин. чтения

1. Введение

В этом кратком руководстве мы сосредоточимся на поддержке Servlet 3 для асинхронных запросов и на том, как Spring MVC и Spring Security обрабатывают эти файлы .

Основной мотивацией асинхронности в веб-приложениях является обработка длительных запросов. В большинстве случаев нам нужно убедиться, что принципал безопасности Spring распространяется на эти потоки.

И, конечно же, Spring Security интегрируется с @Async за рамками MVC и также обрабатывает HTTP-запросы.

2. Зависимости Maven

· 4 мин. чтения

1. Введение

В этом уроке мы сосредоточимся на Spring MVC HandlerInterceptor.

В частности, мы покажем более продвинутый вариант использования перехватчиков — мы будем эмулировать логику тайм-аута сеанса , устанавливая пользовательские счетчики и отслеживая сеансы вручную.

Если вы хотите прочитать об основах HandlerInterceptor в Spring, ознакомьтесь с этой статьей .

2. Зависимости Maven

· 4 мин. чтения

1. Введение

В этом руководстве мы сосредоточимся на распространении принципала Spring Security с помощью @Async . ``

По умолчанию проверка подлинности Spring Security привязана к ThreadLocal , поэтому, когда поток выполнения запускается в новом потоке с @Async, это не будет аутентифицированным контекстом.

Это не идеально — давайте это исправим.

2. Зависимости Maven