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

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

1. Введение

В этой статье представлен первый практический обзор Evette — нового механизма правил Java с открытым исходным кодом.

Исторически Evrete разрабатывался как облегченная альтернатива Drools Rule Engine . Он полностью соответствует спецификации Java Rule Engine и использует классический алгоритм RETE прямой цепочки с несколькими настройками и функциями для обработки больших объемов данных.

Он требует Java 8 и выше, не имеет зависимостей, без проблем работает с объектами JSON и XML и допускает функциональные интерфейсы в качестве условий и действий правил .

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

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

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

1. Обзор

В выпуске Java SE 17 в качестве функции предварительного просмотра представлено сопоставление с образцом для выражений и операторов switch ( JEP 406 ). Сопоставление с образцом дает нам больше гибкости при определении условий для случаев переключения .

В дополнение к меткам case, которые теперь могут содержать шаблоны, выражение селектора больше не ограничивается несколькими типами. До сопоставления с образцом случаи переключения поддерживали только простую проверку выражения селектора, которое должно точно соответствовать постоянному значению.

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

2. Заявление о переключении

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

1. Введение

В этой статье мы расскажем, как выполнять параллельные модульные тесты с помощью JUnit 5 . Сначала мы рассмотрим базовую конфигурацию и минимальные требования для начала использования этой функции. Далее покажем примеры кода для разных ситуаций, а в конце поговорим о синхронизации общих ресурсов.

Параллельное выполнение тестов — это экспериментальная функция, доступная по подписке начиная с версии 5.3.

2. Конфигурация

Во- первых, нам нужно создать файл junit-platform.properties в нашей папке src/test/resources , чтобы разрешить параллельное выполнение тестов . Мы включаем функцию распараллеливания, добавляя следующую строку в указанный файл:

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

1. Обзор

Контейнер Docker — это экземпляр образа Docker, внутри которого выполняется некоторый процесс. Изменение состояния этого процесса также влияет на поведение контейнера. Таким образом, контейнер может находиться в разных состояниях на протяжении всего жизненного цикла.

В этом руководстве мы узнаем обо всех возможных состояниях контейнера Docker.

Давайте сначала рассмотрим, как найти состояние контейнера Docker, а затем пройдемся по различным этапам контейнера.

2. Найдите текущее состояние контейнера Docker

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

1. Обзор

В этом руководстве мы рассмотрим шаги, необходимые для отправки электронных писем как из простого ванильного приложения Spring, так и из приложения Spring Boot. В первом случае мы будем использовать библиотеку JavaMail , а во втором — зависимость spring-boot-starter-mail .

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

Во-первых, нам нужно добавить зависимости в наш pom.xml .

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

1. Обзор

Веб-инфраструктура Spring построена на основе шаблона MVC (Model-View-Controller), который упрощает разделение задач в приложении. Это дает возможность использовать различные технологии просмотра, от хорошо зарекомендовавшей себя технологии JSP до различных шаблонизаторов.

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

2. Технологии Spring View

Учитывая, что проблемы в приложении Spring MVC четко разделены, переключение с одной технологии представления на другую в первую очередь является вопросом конфигурации.

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

1. Обзор

В этой быстрой статье мы рассмотрим Spring AbstractRoutingDatasource как способ динамического определения фактического источника данных на основе текущего контекста .

В результате мы увидим, что можем убрать логику поиска DataSource из кода доступа к данным.

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

Начнем с объявления spring-context, spring-jdbc, spring-test и h2 в качестве зависимостей в pom.xml :

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

1. Обзор

Все фреймворки MVC предоставляют способ работы с представлениями.

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

ViewResolver сопоставляет имена представлений с фактическими представлениями.

И среда Spring поставляется с несколькими преобразователями представлений, например InternalResourceViewResolver , BeanNameViewResolver и некоторыми другими.

Это простое руководство показывает, как настроить наиболее распространенные преобразователи представлений и как использовать несколько ViewResolver в одной конфигурации .

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

1. Обзор

В этой статье мы объясним, как настроить Spring Security с помощью Maven , и рассмотрим конкретные варианты использования зависимостей Spring Security. Вы можете найти последние выпуски Spring Security на Maven Central .

Это продолжение предыдущей статьи Spring with Maven , так что для зависимостей Spring, не связанных с безопасностью, это то место, с которого стоит начать.

2. Весенняя безопасность с Maven

2.1. пружинное ядро безопасности

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

1. Проблема

В этой статье обсуждается проблема конфигурации Spring Security — процесс начальной загрузки приложения вызывает следующее исключение:

SEVERE: Exception starting filter springSecurityFilterChain
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'springSecurityFilterChain' is defined

2. Причина