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

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

1. Обзор

Есть много ситуаций, когда мы хотим получить данные из базы данных. Иногда мы хотим заблокировать его для себя для дальнейшей обработки, чтобы никто другой не мог прервать наши действия.

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

Изоляция транзакций определяется для соединений с базой данных. Мы можем настроить его для сохранения различной степени блокировки данных.

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

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

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

1. Обзор

Одной из проблем модульного тестирования является имитация частных методов.

В этом руководстве мы узнаем, как этого добиться с помощью библиотеки PowerMock , которая поддерживается JUnit и TestNG.

PowerMock интегрируется с фреймворками для имитации, такими как EasyMock и Mockito, и предназначен для добавления к ним дополнительных функций, таких как имитация частных методов, конечных классов, конечных методов и т. д.

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

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

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

1. Обзор

Библиотека с поддержкой REST обеспечивает поддержку тестирования REST API, обычно в формате JSON.

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

В этом кратком руководстве мы рассмотрим, как мы можем проверить ответ JSON на основе предопределенной схемы JSON .

2. Настройка

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

1. Обзор

В этом руководстве мы рассмотрим обмен сообщениями через AMQP с использованием платформы Spring AMQP. Сначала мы рассмотрим некоторые ключевые концепции обмена сообщениями. Затем мы перейдем к практическому примеру.

2. Коммуникация на основе сообщений ``

Обмен сообщениями — это метод обмена данными между приложениями. Он основан на асинхронной передаче сообщений вместо архитектуры, основанной на синхронном запросе и ответе. Производители и потребители сообщений разделены промежуточным уровнем обмена сообщениями, известным как брокер сообщений . Брокер сообщений предоставляет такие функции, как постоянное хранение сообщений, фильтрация сообщений и преобразование сообщений.

В случае обмена сообщениями между приложениями, написанными на Java, обычно используется API JMS (Java Message Service). Для обеспечения взаимодействия между различными поставщиками и платформами мы не сможем использовать клиенты и брокеры JMS. Вот где AMQP пригодится .

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

1. Обзор

При написании приложения Spring Boot полезно сопоставлять свойства конфигурации с Java-бинами . Но как лучше всего задокументировать эти свойства?

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

2. Метаданные конфигурации

Большинство приложений, над которыми мы работаем как разработчики, должны быть в той или иной степени настраиваемыми. Однако, как правило, мы не совсем понимаем, что делает параметр конфигурации, если он имеет значение по умолчанию, если он устарел, а иногда мы даже не знаем, что свойство существует.

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

1. Введение

Иногда нам нужно подключиться к нескольким технологиям баз данных в одном приложении.

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

Давайте воспользуемся игрушечным книжным магазином Spring Boot, чтобы изучить эту тему.

2. Требуемые зависимости

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

1. Обзор

В этом руководстве мы рассмотрим Spring Security Taglibs , который обеспечивает базовую поддержку для доступа к информации о безопасности и применения ограничений безопасности в JSP.

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

Прежде всего, давайте добавим зависимость spring-security-taglibs в наш pom.xml :

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>

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

1. Введение

HTTP (протокол передачи гипертекста) — это протокол запроса-ответа без сохранения состояния. Его простой дизайн делает его очень масштабируемым, но неподходящим и неэффективным для высокоинтерактивных веб-приложений в реальном времени из-за объема служебных данных, которые необходимо передавать вместе с каждым запросом/ответом.

Поскольку HTTP является синхронным, а приложения реального времени должны быть асинхронными, любые решения, такие как опрос или длительный опрос ( Comet ), как правило, сложны и неэффективны.

Чтобы решить указанную выше проблему, нам нужен основанный на стандартах, двунаправленный и полнодуплексный протокол, который мог бы использоваться как серверами, так и клиентами, и это привело к введению API JSR 356 — в этой статье мы покажу пример его использования.

2. Настройка

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

1. Весна и Ява

>> Советы Spring: Java 14 (или: Может ли ваша Java сделать это?) [ spring.io ]

Несколько практических примеров, показывающих, как получить максимальную отдачу от Java 14 в приложении Spring Boot .

>> GraalVM 20.0: запуск Tomcat как собственного образа в Windows [ infoq.com ]

Apache Tomcat 9 полностью интегрирован, хотя вам все равно потребуется запустить виртуальную машину субстрата для поддержки отражения и динамической загрузки классов .

>> Чистые границы архитектуры с помощью Spring Boot и ArchUnit [ Reflectoring.io ]

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

1. Введение

В этом руководстве мы рассмотрим Moshi , современную библиотеку JSON для Java, которая без особых усилий предоставит нам мощную сериализацию и десериализацию JSON в нашем коде.

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

2. Добавление Moshi в нашу сборку

Прежде чем мы сможем его использовать, нам сначала нужно добавить зависимости Moshi JSON в наш файл pom.xml :