@SqlResultSetMapping – превращение результата SQL-запроса в объект

В этой статье пойдет речь о том, как превратить результат нативного SQL-запроса в объект.
Читать далее «@SqlResultSetMapping – превращение результата SQL-запроса в объект»

Single Sign-On с поставщиком Keyloak

В этой статье рассмотрим Single Sign-On с сервером авторизации Keyloak.

Пример состоит из трех частей:

  • сервер авторизации (Keyloak)
  • клиент
  • сервер ресурсов (необязательная часть)

Читать далее «Single Sign-On с поставщиком Keyloak»

Single Sign-On с поставщиком VK

В этой статье рассмотрим Single Sign-On (SSO) с помощью поставщика VKontakte (но также тут есть вход с помощью GitHub и Google). Приложение представляет собой Spring Boot OAuth 2 клиент c Ajax-запросами на JQuery.
Читать далее «Single Sign-On с поставщиком VK»

OAuth 2 Authorization Code Flow. Пример на Spring Boot

В этой статье рассмотрим OAuth 2 Authorization Code Flow на примере из официального репозитория сервера авторизации (от октября 2020). Пример переделан на Maven, кроме того, включено логирование запросов в консоль.
Читать далее «OAuth 2 Authorization Code Flow. Пример на Spring Boot»

CSRF-токен

В этой статье рассмотрим, что такое Сross-Site Request Forgery и как включить в Spring Boot приложение CSRF-токен – защиту от этого мошенничества. Назвать этот токен можно было бы “анти-CSRF-токен”.

Читать далее «CSRF-токен»

Тестирование репозиториев: @DataJdbcTest, @Commit, @DirtiesContext

Если @SpringBootTest поднимает для теста весь контекст, то @DataJdbcTest – только тот, что относится к Spring Data. В том числе она поднимает наследников CrudRepository – они включаются в контекст.
Читать далее «Тестирование репозиториев: @DataJdbcTest, @Commit, @DirtiesContext»

Использование QuerydslPredicateExecutor

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

Читать далее «Использование QuerydslPredicateExecutor»

Pagination и Sorting в Spring Data JPA

В этой статье рассмотрим, как выводить данные постранично в Spring Data JPA. В предыдущей статье по Spring Data JDBC уже рассмотрены интерфейсы Page (выведенная страница) и Pagable (для запроса страницы). Здесь они используются аналогично.

Читать далее «Pagination и Sorting в Spring Data JPA»

Pagination и Sorting в Spring Data JDBC

В этой статье рассмотрим, как выводить данные постранично в Spring Data JDBC. Для этого предусмотрены интерфейсы Page (выведенная страница) и Pagable (для запроса страницы).

Читать далее «Pagination и Sorting в Spring Data JDBC»

@Conditional бин и необязательная зависимость @Autowired(required=false)

В общем случае рекомендуется внедрять зависимости через конструктор. Но существуют необязательные зависимости, которые невозможно внедрить через конструктор. В этой статье как раз и пойдет речь о такой зависимости, она внедряется через setter.
Читать далее «@Conditional бин и необязательная зависимость @Autowired(required=false)»