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

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

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

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

./3b4de9e94a9b7504a2d8cd41cc63bff0.png

Введение в основные проекты

./396f22c43065aa6b6bd6a26e36ed96fb.png

Идти дальше

./aa583059a8ddfa45736f68892efd0f3f.png

Весеннее облако Нетфликс

./4c067f7f7b9aafd3ddf9268df0252b6f.png

Облачный поток данных Spring

./69ef66de150a4764969f35578e10de2f.png

Весеннее облако AWS

./69ef66de150a4764969f35578e10de2f.png

Spring Cloud DevOps

./69ef66de150a4764969f35578e10de2f.png

Примеры весеннего облака

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

1. Обзор

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

Хорошей новостью является то, что веб-фреймворк Spring предоставляет механизм фильтрации именно для этой цели.

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

2. Фильтр для определенных URL-адресов

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

1. Введение

При разработке веб-сервисов нам может понадобиться иметь дело со сложными или неожиданными путями URL, которые могут содержать косые черты . Как следствие, мы можем столкнуться с проблемами с веб-серверами или платформами, которые мы используем.

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

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

2. Разберите запрос вручную

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

1. Обзор

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

В рамках этого руководства мы сосредоточимся на создании формы, которая отправляет свои данные как тип контента application/x-www-form-urlencoded в веб-приложении Spring.

2. Кодирование данных формы

Наиболее часто используемый метод HTTP для отправки форм — POST. Однако для идемпотентной отправки формы мы также можем использовать метод HTTP GET. И способ указать метод — через атрибут метода формы .

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

1. Введение

В последние годы Gradle стал очень популярным инструментом управления зависимостями, особенно среди разработчиков Java. Его легко освоить, а поскольку он написан на Groovy, он очень расширяемый.

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

2. Обзор Gradle

Gradle — это инструмент управления зависимостями. Он предоставляет надежные функции для определения зависимостей в программном проекте, а также множество функций для управления всем жизненным циклом сборки, от тестирования до развертывания.

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

1. Обзор

В этом руководстве мы рассмотрим процесс десортировки с помощью Jackson 2.x, в частности, как работать с содержимым JSON с неизвестными свойствами .

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

2. Распаковать JSON с дополнительными/неизвестными полями

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

1. Обзор

Java 8 представила несколько улучшений интерфейса Comparator , в том числе несколько статических функций, которые очень полезны при определении порядка сортировки коллекций.

Интерфейс Comparator также может эффективно использовать лямбда-выражения Java 8. Подробное объяснение лямбда-выражений и компаратора можно найти здесь , а хронику применения компаратора и сортировки можно найти здесь .

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

2. Начало работы

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

1. Обзор

Абстрактные классы и конструкторы могут показаться несовместимыми. Конструктор — это метод, вызываемый при создании экземпляра класса , а абстрактный класс не может быть создан . Звучит нелогично, правда?

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

2. Конструктор по умолчанию

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

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

1. Обзор

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

2. Найдите Макса в списке целых чисел

Мы можем использовать метод max() , предоставляемый через интерфейс java.util.Stream , который принимает ссылку на метод:

@Test
public void whenListIsOfIntegerThenMaxCanBeDoneUsingIntegerComparator() {
// given
List<Integer> listOfIntegers = Arrays.asList(1, 2, 3, 4, 56, 7, 89, 10);
Integer expectedResult = 89;

// then
Integer max = listOfIntegers
.stream()
.mapToInt(v -> v)
.max().orElseThrow(NoSuchElementException::new);

assertEquals("Should be 89", expectedResult, max);
}