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

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

1. Обзор

В этой статье мы обсудим Spring org.springframework.dao.DataIntegrityViolationException — это универсальное исключение данных, которое обычно вызывается механизмом преобразования исключений Spring при работе с исключениями сохранения более низкого уровня. В статье будут обсуждаться наиболее распространенные причины этого исключения, а также решения для каждой из них.

2. DataIntegrityViolationException и Spring Exception Translation

Механизм перевода исключений Spring может быть прозрачно применен ко всем компонентам, аннотированным с помощью @Repository , путем определения компонента постпроцессора компонента перевода исключений в контексте:

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

1. Обзор

В предыдущих частях этого тематического исследования мы настроили простое приложение и процесс аутентификации OAuth с API Reddit.

Давайте теперь создадим что-то полезное с Reddit — поддержку планирования публикаций для последнего.

2. Пользователь и пост

Во-первых, давайте создадим 2 основных объекта — User и Post . Пользователь будет отслеживать имя пользователя и некоторую дополнительную информацию Oauth :

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

1. Обзор

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

2. Необходимая безопасность

Во-первых, давайте уберем аспект безопасности.

Чтобы отправить ссылку на Reddit , нам нужно определить ресурс, защищенный OAuth, с областью действия « submit »:

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

1. Весна и Ява

>> Создание образов Docker с помощью Spring Boot 2.3.0.M1 [ spring.io ]

Краткий обзор предстоящей поддержки сборочных пакетов и многоуровневых JAR-файлов в Spring Boot — двух новых функций, упрощающих создание оптимизированных образов Docker.

>> Создание шлюза API с помощью Zuul и Spring Boot [ mscharhag.com ]

Пример прокси-приложения Zuul демонстрирует настройку маршрута и использование фильтров для настройки поведения маршрутизации .

>> Лучшие плагины IntelliJ IDEA [ vojtechruzicka.com ]

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

1. Введение

Одна из самых интересных функций, представленных в Java 8, фактически финальная. Это позволяет нам не писать модификатор final для переменных, полей и параметров, которые эффективно обрабатываются и используются как final.

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

2. Эффективно окончательное происхождение

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

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

1. Обзор

Хорошо известно, что автоконфигурация — одна из ключевых функций Spring Boot , но тестирование сценариев автоконфигурации может оказаться сложной задачей.

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

2. Протестируйте сценарии автоматической настройки

ApplicationContextRunner — это служебный класс, который запускает ApplicationContext и предоставляет утверждения в стиле AssertJ . Его лучше всего использовать как поле в тестовом классе для общей конфигурации, и впоследствии мы вносим настройки в каждый тест:

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

1. Обзор

В этой статье мы расскажем о некоторых важных правилах, используемых в инструментах анализа кода, таких как FindBugs, PMD и CheckStyle.

2. Цикломатическая сложность

2.1. Что такое цикломатическая сложность?

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

1. Обзор

Google Guava предоставляет библиотекам утилиты, облегчающие разработку Java. В этом уроке мы рассмотрим новые функции, представленные в выпуске Guava 18 .

2. Служебный класс MoreObjects

В Guava 18 был добавлен класс MoreObjects , который содержит методы, не имеющие эквивалентов в java.util.Objects .

Начиная с версии 18, он содержит только реализации метода toStringHelper , которые можно использовать для создания собственных методов toString .

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

1. Обзор

Dropwizard — это среда Java с открытым исходным кодом, используемая для быстрой разработки высокопроизводительных веб-сервисов RESTful . Он собирает некоторые популярные библиотеки для создания облегченного пакета. Основными библиотеками, которые он использует, являются Jetty, Jersey, Jackson, JUnit и Guava. Кроме того, он использует собственную библиотеку под названием Metrics .

В этом руководстве мы узнаем, как настроить и запустить простое приложение Dropwizard. Когда мы закончим, наше приложение предоставит RESTful API, который позволит нам получить список сохраненных брендов.

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

Во-первых, зависимость dropwizard-core — это все, что нам нужно для создания нашего сервиса. Давайте добавим его в наш pom.xml :

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

1. Обзор

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

Проще говоря, WebJars — это зависимости на стороне клиента, упакованные в архивные файлы JAR. Они работают с большинством контейнеров JVM и веб-фреймворков.

Вот несколько популярных WebJars: Twitter Bootstrap , jQuery , Angular JS , Chart.js и т. д .; полный список доступен на официальном сайте .

2. Зачем использовать WebJars?