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

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

1. Обзор

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

Однако иногда маршрут контроллера необходим — и это то, на чем мы сосредоточимся в этой быстрой статье. `` .

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

Во-первых, нам нужно добавить зависимость к нашему pom.xml :

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

1. Обзор

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

2. Зачем нам фильтровать?

Давайте рассмотрим простой, но распространенный вариант использования, когда у нас есть веб-приложение, которое обслуживает пользователей с разными ролями. Например, пусть эти роли будут User и Admin .

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

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

1. Обзор

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

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

2. Типы входных аргументов

Когда мы хотим передать входные аргументы из CLI Gradle, у нас есть два варианта:

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

1. Обзор

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

В этом руководстве мы рассмотрим нюансы использования Class.forName() для проверки существования класса в пути к классам Java .

2. Использование Class.forName()

Мы можем проверить существование класса с помощью Java Reflection , в частности, Class.forName() . Документация показывает, что если класс не может быть найден, будет выброшено исключение ClassNotFoundException .

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

1. Введение

В этом кратком руководстве мы рассмотрим несколько способов отката миграции с помощью Flyway.

2. Моделирование отката с помощью миграции

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

В наших примерах мы будем использовать версию Flyway для командной строки. Однако основные принципы в равной степени применимы и к другим форматам, таким как основной API, подключаемый модуль Maven и т. д.

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

1. Обзор

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

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

2. Почему метамодель JPA?

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

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

1. Весна и Ява

>> Как зашифровать и расшифровать свойства JSON с помощью JPA [ vladmihalcea.com ]

Пересмотрите события жизненного цикла JPA: шифрование и дешифрование свойств JSON с помощью JPA .

>> Создание оптимизированных образов Docker для приложения Spring Boot [ Reflectoring.io ]

Используйте пакеты сборки для оптимизации образов Docker для Spring Boot .

Также стоит прочитать:

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

1. Введение

В этом уроке мы обсудим принцип разделения интерфейса, один из принципов SOLID . Представляя «I» в «SOLID», разделение интерфейсов просто означает, что мы должны разбивать большие интерфейсы на более мелкие.

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

2. Принцип разделения интерфейса

Этот принцип был впервые определен Робертом С. Мартином как: « Клиенты не должны зависеть от интерфейсов, которые они не используют ».

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

1. Обзор

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

2. Загрузчики классов в Java

Загрузчики классов являются неотъемлемой частью JRE (Java Runtime Environment). Их работа заключается в динамической загрузке классов в виртуальную машину Java . Другими словами, они загружают классы в память по требованию, когда этого требует приложение. В статье о загрузчиках классов Java рассказывается об их различных типах и подробно рассказывается, как они работают.

3. Использование инструментального API

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

1. Обзор

В этом руководстве мы узнаем , как использовать аннотацию Spring @Import , а также объясним , чем она отличается от @ComponentScan .

2. Конфигурация и компоненты

Прежде чем понять аннотацию @Import , нам нужно знать, что такое Spring Bean, и иметь базовые практические знания об аннотации @ Configuration .

Обе темы выходят за рамки данного руководства. Тем не менее, мы можем узнать о них в нашей статье о Spring Bean и в документации Spring .