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

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

1. Обзор

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

2. Пример использования и настройка

В нашем варианте использования есть четыре простых класса: MusicAlbum , Compilation , MusicTrack и Store . Имя коллекции каждого класса будет настроено по-разному. Также у каждого класса будет свой MongoRepository . Никаких пользовательских запросов не потребуется. Кроме того, нам понадобится правильно настроенный экземпляр базы данных MongoDB .

2.1. Сервис для перечисления содержимого коллекции по имени

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

1. Обзор

Keycloak — это система управления идентификацией и доступом (IAM) с открытым исходным кодом, которая хорошо интегрируется с приложением Spring Boot. В этом руководстве мы опишем, как получить идентификатор пользователя Keycloak в приложении Spring Boot.

2. Постановка задачи

Keycloak предоставляет такие функции, как защита REST API, федерация пользователей, тонкая авторизация, вход через социальные сети, двухфакторная аутентификация (2FA) и т. д. Кроме того, мы можем использовать его для реализации единого входа ( SSO ) с использованием OpenID Connect ( ОИДК ). Предположим, что у нас есть приложение Spring Boot, защищенное OIDC с помощью Keycloak, и мы хотим получить идентификатор пользователя в приложении Spring Boot. В этой ситуации нам потребуется получить токен доступа или контекст безопасности в приложении Spring Boot.

2.1. Keycloak Server как сервер авторизации

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

1. Обзор

Проще говоря, Spring Security поддерживает семантику авторизации на уровне метода.

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

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

2. Включение безопасности метода

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

Spring Framework — это зрелая, мощная и очень гибкая среда, ориентированная на создание веб-приложений на Java.

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

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

Конечно, нужно многому научиться, чтобы хорошо работать со Spring.

Давайте начнем.

./b0b2da6116494a28448fcab14ef953de.png

Основы весны

Сначала мы начнем с некоторых основных аспектов фреймворка:

./659a84a94ecad6cade29d6ed8810c924.png

Весна в сети

Фреймворк Spring MVC является основой для создания веб-приложений с помощью Spring.

Он поддерживает широкий спектр веб-приложений, от традиционных приложений в стиле MVC до REST API без сохранения состояния.

Давайте начнем с некоторых основ — общего между всеми этими стилями веб-приложений:

А затем основы построения традиционного веб-приложения в стиле MVC:

И, если вы хотите более подробно изучить среду Spring MVC, вот более подробное руководство для этого .

Наконец, давайте рассмотрим поддержку RESTful в Spring MVC:

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

./1d201ebd81ca4fb4b1857c4e24bf5f0d.png

Spring Persistence — SQL

Spring поддерживает большинство решений для сохраняемости:

./00a232bab517d104a852fcc32e839379.png

Spring Persistence — без SQL

./5ac072223a6f4860d2c5d3f0bdd2b6de.png

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

Далее, действительно сильный аспект экосистемы Spring — безопасность:

./5f5557eb69c33cacfa835bb7ec68c064.png

Другие весенние технологии

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

1. Обзор

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

Таким образом, мы можем выбирать между несколькими продуктами. Apache Foundation предоставляет ActiveMQ и Kafka, которые мы сравним друг с другом в этой статье.

2. Общие факты

2.1. Активный МК

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

1. Обзор

При работе с JSON в Java с использованием библиотеки Gson у нас есть несколько вариантов преобразования необработанного JSON в другие классы или структуры данных, с которыми нам будет легче работать.

Например, мы можем преобразовать строки JSON в Map<String, Object> или создать собственный класс с сопоставлениями . Однако иногда удобно иметь возможность преобразовать наш JSON в универсальный объект.

В этом уроке мы узнаем, как Gson может предоставить нам JsonObject из строки.

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

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

1. Обзор

В этом руководстве мы обсудим, как загружать и скачивать файлы с удаленного сервера с помощью SFTP в Java .

Мы будем использовать три разные библиотеки: JSch, SSHJ и Apache Commons VFS.

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

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

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

1. Обзор

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

2. Введение

В области программирования glob — это шаблон с подстановочными знаками для соответствия именам файлов . В нашем примере мы будем использовать шаблоны глобусов для фильтрации списка имен файлов. Мы будем использовать популярные подстановочные знаки «*» и «?». Java поддерживает эту функцию, начиная с Java SE 7.

Java предоставила метод getPathMatcher() в своем классе FileSystem . Он может принимать либо регулярное выражение (регулярное выражение), либо шаблон глобуса. В этом примере мы будем использовать шаблоны глобусов из-за простоты применения подстановочных знаков по сравнению с регулярными выражениями.

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

1. Введение

В этом кратком руководстве мы сосредоточимся на создании PDF-документов с нуля на основе библиотек iText и PdfBox.

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

Во-первых, нам нужно включить в наш проект следующие зависимости Maven:

<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.10</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.4</version>
</dependency>

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

1. Обзор

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

Мы также рассмотрим, как мы можем легко использовать семантику RESTful HTTP.

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

2. Служба ОТДЫХА