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

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

1. Введение

Многие разработчики решают хранить параметры приложения вне исходного кода. Один из способов сделать это в Java — использовать внешний файл конфигурации и читать его через класс java.util.Properties .

В этом руководстве мы сосредоточимся на различных подходах к преобразованию java.util.Properties в HashMap<String, String> . Мы будем реализовывать различные методы для достижения нашей цели, используя обычную Java, lambdas или внешние библиотеки. На примерах мы обсудим плюсы и минусы каждого решения.

2. Конструктор HashMap

Прежде чем мы реализуем наш первый код, давайте проверим Javadoc для java.util.Properties . Как мы видим, этот служебный класс наследуется от Hashtable<Object, Object> , который также реализует интерфейс Map . Более того, Java оборачивает свои классы Reader и Writer для работы непосредственно со строковыми значениями.

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

1. Обзор

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

В этом уроке мы увидим, что такое нормализация текста Unicode, как мы можем использовать ее для удаления диакритических знаков, а также подводные камни, которых следует остерегаться. Затем мы увидим несколько примеров с использованием класса Java Normalizer и Apache Commons StringUtils.

2. Краткий обзор проблемы

Допустим, мы работаем с текстом, содержащим диапазон диакритических знаков, которые мы хотим удалить:

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

1. Обзор

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

В этой статье мы рассмотрим Stream и Collection и обсудим различные сценарии, соответствующие их применению.

2. Коллекция против потока

Коллекции Java предлагают эффективные механизмы для хранения и обработки данных, предоставляя такие структуры данных, как List , Set и Map .

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

1. Обзор

В этом руководстве мы рассмотрим несколько способов обработки исключений в Project Reactor . Операторы, представленные в примерах кода, определены как в классах Mono , так и в классах Flux . Однако мы сосредоточимся только на методах класса Flux .

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

Начнем с добавления зависимости ядра Reactor :

<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId
<version>3.4.9</version>
</dependency>

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

1. Введение

В этом кратком руководстве мы научимся создавать запросы на обновление с помощью аннотации Spring Data JPA @Query . Мы достигнем этого, используя аннотацию @Modifying .

Во-первых, чтобы освежить нашу память, мы можем прочитать , как делать запросы, используя Spring Data JPA . После этого мы углубимся в использование аннотаций @Query и @Modifying . Наконец, мы обсудим, как управлять состоянием нашего контекста персистентности при использовании модифицирующих запросов.

2. Запрос в Spring Data JPA

Во-первых, давайте вспомним три механизма, которые Spring Data JPA предоставляет для запроса данных в базе данных :

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

1. Введение

В этом кратком руководстве мы узнаем, как принимать параметры Date , LocalDate и LocalDateTime в запросах Spring REST как на уровне запроса, так и на уровне приложения.

2. Проблема

Рассмотрим контроллер с тремя методами, который принимает параметры Date , LocalDate и LocalDateTime :

@RestController
public class DateTimeController {

@PostMapping("/date")
public void date(@RequestParam("date") Date date) {
// ...
}

@PostMapping("/localdate")
public void localDate(@RequestParam("localDate") LocalDate localDate) {
// ...
}

@PostMapping("/localdatetime")
public void dateTime(@RequestParam("localDateTime") LocalDateTime localDateTime) {
// ...
}
}

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

1. Весна и Ява

>> Глоток Java — фильтры сериализации [ inside.java ]

Больше контроля над десериализацией входящих данных — решение проблем безопасности и неясности сериализации Java в Java 17.

>> Kotlin и FaaS, невозможный союз? [ блог.frankel.ch ]

Проблема с холодным запуском, JVM и FaaS : предложение нескольких альтернатив, если вы все еще настаиваете на использовании Kotlin в мире FaaS. Интересное чтение.

>> Более быстрое кодирование набора символов? [ cl4es.github.io ]

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

1. Весна и Ява

>> Hibernate Reactive: стоит ли? [ в.отношении.к ]

Теперь, когда выпущена первая стабильная версия, давайте посмотрим, когда использовать Hibernate Reactive и какие сценарии для него больше подходят.

>> Выбор кэша [ blog.frankel.ch ]

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

>> Глоток Java — сериализация записи [ inside.java ]

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

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

1. Обзор

В этой статье рассматриваются некоторые дополнительные аннотации, которые не были рассмотрены в предыдущей статье «Руководство по аннотациям Джексона» — мы рассмотрим семь из них.

2. @JsonIdentityReference

@JsonIdentityReference используется для настройки ссылок на объекты, которые будут сериализованы как идентификаторы объектов вместо полных POJO. Он работает в сотрудничестве с @JsonIdentityInfo , чтобы принудительно использовать идентификаторы объектов в каждой сериализации, в отличие от всех случаев, кроме первого, когда @JsonIdentityReference отсутствует. Эта пара аннотаций наиболее полезна при работе с циклическими зависимостями между объектами. Пожалуйста, обратитесь к разделу 4 статьи о Джексоне — Двунаправленные отношения для получения дополнительной информации.

Чтобы продемонстрировать использование @JsonIdentityReference , мы определим два разных класса компонентов, без этой аннотации и с ней.