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

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

1. Обзор

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

2. Ограничение скорости API

Ограничение скорости — это стратегия ограничения доступа к API . Он ограничивает количество вызовов API, которые клиент может сделать в течение определенного периода времени. Это помогает защитить API от чрезмерного использования, как непреднамеренного, так и злонамеренного.

Ограничения скорости часто применяются к API путем отслеживания IP-адреса или более специфичным для бизнеса способом, таким как ключи API или токены доступа. Как разработчики API, мы можем реагировать несколькими способами, когда клиент достигает предела:

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

1. Введение

Mockito — популярный фреймворк для имитации Java. С его помощью легко создавать фиктивные объекты , настраивать фиктивное поведение , захватывать аргументы методов и проверять взаимодействие с фиктивными объектами .

Теперь мы сосредоточимся на определении фиктивного поведения. У нас есть два способа сделать это: синтаксис when().thenDoSomething() и doSomething().when() .

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

2. метод когда()

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

1. Обзор

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

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

Прежде чем мы начнем, нам нужно добавить зависимость в наш файл pom.xml . Нам также нужно добавить плагин для компиляции наших файлов Groovy.

Давайте сначала добавим зависимость для Groovy в наш файл pom.xml :

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

1. Обзор

В этом руководстве мы обсудим различия между аннотациями org.springframework.transaction.annotation.Transactional и javax.transaction.Transactional .

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

2. Различия в конфигурации

Транзакционная аннотация Spring поставляется с дополнительной конфигурацией по сравнению с ее аналогом JTA:

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

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

Вот так…

1. Весна и Ява

>> Высокопроизводительная сохраняемость Java — часть первая [ vladmihalcea.com ]

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

Он публикует его через Leanpub с гибкими (и довольно низкими) ценами, поэтому, если вы действительно хотите освежить свою игру в SQL, обязательно выберите ее .

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

1. Обзор

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

В этом коротком руководстве мы узнаем , как создавать временные каталоги в Java, используя различные API и подходы . Все примеры в этом руководстве будут выполняться с использованием простой Java 7+, Guava и Apache Commons IO .

2. Делегировать операционной системе

Один из наиболее популярных подходов, используемых для создания временных каталогов, заключается в делегировании места назначения основной операционной системе. Местоположение задается свойством java.io.tmpdir , и каждая операционная система имеет свою собственную структуру и процедуры очистки.

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

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

Вот так…

1. Весна и Ява

>> Вопросы и ответы с Алексеем Шипилевым об оптимизации компактных строк в OpenJDK 9 [ infoq.com ]

Если вас интересует внутренняя работа JDK 9 , это интервью стоит прочесть.

>> О, серверы приложений Java EE 7, где ты? [ antoniogoncalves.org ]

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

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

Вот так…

1. Весна и Ява

>> Результаты опроса JEP 286 для определения типа локальной переменной [ infoq.com ]

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

>> Упрощение запросов к базе данных с помощью Jinq [ infoq.com ]

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

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

Вот так…

1. Весна и Ява

>> Reactor Core 2.5 становится унифицированным Reactive Foundation на Java 8 [ spring.io ]

В центре внимания и движущей силой Spring 5 явно будет реактивное программирование.

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

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

1. Введение

Вы когда-нибудь слышали о Java EE? Как насчет Java 2EE, J2EE, а теперь и Jakarta EE? На самом деле все это разные названия одного и того же: набора корпоративных спецификаций, расширяющих Java SE.

В этой короткой статье мы опишем эволюцию Java EE.

2. История

В первой версии Java корпоративные расширения Java были просто частью ядра JDK .