Отличная статья про создание собственного Spring Boot 3 starter’а на Java!
В этой статье:
• Как starter превращается в отдельный переиспользуемый блок конфигурации
• Как добавить автоконфигурацию, default-настройки и EnvironmentPostProcessor
• Как собрать стартер и подключить его к обычному Spring Boot-приложению
👉 Java Ready | #статья
В этой статье:
• Как starter превращается в отдельный переиспользуемый блок конфигурации
• Как добавить автоконфигурацию, default-настройки и EnvironmentPostProcessor
• Как собрать стартер и подключить его к обычному Spring Boot-приложению
Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Dev.java — ресурс по современной Java!
На сайте собраны материалы от Java-команды: Getting Started, основы языка, Collections Framework, Stream API, Virtual Threads, JShell, инструменты сборки, IDE, новые возможности платформы и отдельные разделы для более глубокого изучения. Хорошо подходит не только новичкам, но и тем, кто хочет освежить современную Java без случайных устаревших примеров.
Оставляю ссылочку: dev.java
👉 Java Ready | #ресурс
На сайте собраны материалы от Java-команды: Getting Started, основы языка, Collections Framework, Stream API, Virtual Threads, JShell, инструменты сборки, IDE, новые возможности платформы и отдельные разделы для более глубокого изучения. Хорошо подходит не только новичкам, но и тем, кто хочет освежить современную Java без случайных устаревших примеров.
Оставляю ссылочку: dev.java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥5
Делаем простой rate limiter на Java!
Иногда нужно ограничить частоту действий: отправку кода подтверждения, вызов команды, обращение к endpoint или повторную отправку формы. Для базового варианта можно использовать очередь с временем последних успешных вызовов.
В этой задаче:
Такой вариант хорошо подходит для понимания идеи sliding window и небольших локальных сценариев.
👉 Java Ready | #задача
Иногда нужно ограничить частоту действий: отправку кода подтверждения, вызов команды, обращение к endpoint или повторную отправку формы. Для базового варианта можно использовать очередь с временем последних успешных вызовов.
В этой задаче:
• храним timestamps действий;
• удаляем устаревшие записи;
• проверяем размер окна;
Такой вариант хорошо подходит для понимания идеи sliding window и небольших локальных сценариев.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥1
Делаем простой TTL-кэш на Java!
Иногда значение нужно хранить не навсегда, а только короткое время: ответ API, результат вычисления или временную настройку.
Опишем запись кэша:
Создадим хранилище:
Добавим значение с временем жизни:
Теперь достанем значение:
Проверка:
Ожидаемый вывод:
После истечения TTL метод вернёт
👉 Java Ready | #практика
Иногда значение нужно хранить не навсегда, а только короткое время: ответ API, результат вычисления или временную настройку.
Опишем запись кэша:
record Entry<T>(T value, long expiresAt) {}Создадим хранилище:
Map<String, Entry<String>> cache = new HashMap<>();
Добавим значение с временем жизни:
void put(String key, String value, long ttlMs) {
cache.put(key, new Entry<>(
value,
System.currentTimeMillis() + ttlMs
));
}Теперь достанем значение:
String get(String key) {
var entry = cache.get(key);
if (entry == null) {
return null;
}
if (entry.expiresAt() < System.currentTimeMillis()) {
cache.remove(key);
return null;
}
return entry.value();
}Проверка:
put("token", "abc", 1000);
System.out.println(get("token"));Ожидаемый вывод:
abc
После истечения TTL метод вернёт
null, а устаревшая запись удалится из Map.Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥3👎1
Шпаргалка по Maven!
Например, mvn test запускает тесты, mvn package собирает артефакт, а mvn dependency:tree показывает дерево зависимостей проекта.
На картинке основные Maven-команды, фазы lifecycle, полезные параметры командной строки, локальный репозиторий, Maven Central и популярные плагины: help, dependency, compiler, version, wrapper, Spring Boot и exec.
Сохрани, чтобы не потерять!
👉 Java Ready | #ресурс
Например, mvn test запускает тесты, mvn package собирает артефакт, а mvn dependency:tree показывает дерево зависимостей проекта.
На картинке основные Maven-команды, фазы lifecycle, полезные параметры командной строки, локальный репозиторий, Maven Central и популярные плагины: help, dependency, compiler, version, wrapper, Spring Boot и exec.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥4