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

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

1. Обзор

В этом руководстве мы обсудим, как заставить нашу реализацию Spring Security OAuth2 использовать веб-токены JSON.

Мы также продолжаем развивать статью Spring REST API + OAuth2 + Angular в этой серии OAuth.

2. Сервер авторизации OAuth2

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

1. Обзор

Предположим, нам нужно поделиться образом Docker , который присутствует локально на нашей машине. Для решения этой проблемы на помощь приходит Docker Hub .

Docker Hub — это облачный центральный репозиторий, в котором можно хранить образы Docker. Итак, все, что нам нужно сделать, это отправить наш образ Docker в Docker Hub, а позже любой может получить тот же образ Docker.

Будучи облачным репозиторием, Docker Hub требует дополнительной пропускной способности сети для загрузки и скачивания образов Docker. Кроме того, по мере увеличения размера изображения увеличивается время, необходимое для загрузки/выгрузки изображения. Следовательно, этот метод обмена образами Docker не всегда полезен.

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

2. Сохраните образ Docker в виде tar - архива .

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

1. Введение

При разработке приложения Spring необходимо указать фреймворку, где искать bean-компоненты. Когда приложение запускается, платформа находит и регистрирует их все для дальнейшего выполнения. Точно так же нам нужно определить отображение, где будут обрабатываться все входящие запросы к веб-приложению.

Все веб-фреймворки Java построены на основе API сервлетов . В веб-приложении жизненно важную роль играют три файла. Обычно мы связываем их по порядку: web.xml -> applicationContext.xml -> spring-servlet.xml

В этой статье мы рассмотрим различия между applicationContext и spring-servlet .

2. applicationContext.xml

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

1. Обзор

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

2. Сбор элементов потока в список

Получение списка из потока — наиболее часто используемая терминальная операция конвейера потока . До Java 16 мы использовали метод Stream.collect() и передавали его коллектору в качестве аргумента для сбора элементов. Сам коллектор был создан путем вызова метода Collectors.toList() .

Однако были запросы на изменение метода для получения списка непосредственно из экземпляра Stream . После выпуска Java 16 теперь мы можем вызывать toList() , новый метод непосредственно в Stream , чтобы получить List . Такие библиотеки, как StreamEx, также предоставляют удобный способ получить список непосредственно из потока .

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

1. Введение

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

В этом руководстве мы узнаем о различиях между контекстным путем и путем сервлета.

2. Контекстный путь

Проще говоря, контекстный путь — это имя, с помощью которого осуществляется доступ к веб-приложению. Это корень приложения. По умолчанию Spring Boot обслуживает содержимое по пути корневого контекста («/»).

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

1. Обзор

В этом руководстве мы рассмотрим основные функциональные возможности среды Apache Meecrowave .

Meecrowave — это облегченная среда микросервисов от Apache , которая очень хорошо работает с CDI, JAX-RS и JSON API. Его очень просто настроить и развернуть. Это также устраняет проблемы с развертыванием тяжелых серверов приложений, таких как Tomcat, Glassfish, Wildfly и т. д.

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

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

1. Весна и Ява

>> Изменения JDK 17 G1/Parallel GC [ tschatzl.github.io ]

Еще одна причина перейти на Java 17 — сокращение пауз сборщика мусора, значительная экономия памяти и улучшенная поддержка Windows на G1 и Parallel GC.

>> Завершение внешних API [ inside.java ]

Подробный взгляд на то, как сделать API внешней памяти в Java более компактным, простым и безопасным в использовании !

>> Запуск запланированных заданий в Spring Boot [ Reflectoring.io ]

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

1. Обзор

В этом уроке мы покажем, как максимально эффективно использовать шпионов в Mockito .

Мы поговорим об аннотации @Spy и о том, как заглушить шпиона. Наконец, мы рассмотрим разницу между Mock и Spy .

Конечно, чтобы узнать больше о Mockito, посмотрите серию здесь .

2. Простой шпионский пример

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

1. Введение

В этом кратком руководстве мы рассмотрим разницу между instanceof , Class.isInstance и Class.isAssignableFrom . Мы узнаем, как использовать каждый метод и в чем разница между ними.

2. Настройка

Давайте настроим интерфейс и пару классов, которые будем использовать , изучая функциональность instanceof , Class.isInstance и Class.isAssignableFrom .

Во-первых, давайте определим интерфейс:

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

1. Обзор

Анализ байт-кода является обычной практикой среди разработчиков Java по многим причинам, таким как поиск проблем с кодом, профилирование кода и поиск классов с определенными аннотациями.

В этой статье мы рассмотрим способы просмотра байт-кода файла класса в Java.

2. Что такое байт-код?

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