Библиотека Java разработчика
10.7K subscribers
1.16K photos
583 videos
58 files
1.47K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode

Статья демонстрирует, как с помощью инструмента Amplicode эффективно создавать REST-контроллеры в приложениях на Spring Boot. Автор показывает процесс генерации CRUD-методов (создание, чтение, обновление, удаление) и делегирования существующих методов в контроллер, что упрощает разработку API. Приводятся практические примеры и рекомендации по использованию Amplicode для ускорения разработки и повышения качества кода.

https://habr.com/ru/companies/haulmont/articles/866060/

👉@BookJava
👍5
Что выведет код?


public class Main {
public static final int END = Integer.MAX_VALUE;
public static final int START = END - 100;

public static void main(String[] args) {
int count = 0;
for (int i = START; i <= END; i++) count++;
System.out.println(count);
}
}


👉@BookJava
💯7👍2
Совет по Spring Boot 💡

Вы думаете о замене 🍃`RestTemplate` на новый Spring `RestClient`? Конфигурация SSL очень проста благодаря поддержке 🔐`SslBundles` через интерфейс `RestClientSsl` 👆

👉@BookJava
👍4
Media is too big
VIEW IN TELEGRAM
Java. Префиксное дерево. Основные операции, сохранение в файл, практическое применение.

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

00:00 - Вступление
00:26 - Применение в приложении
01:58 - Построение дерева и операции с ним
06:33 - Построение префиксного дерева на Java
11:22 - Операции с префиксным деревом на Java
16:31 - Сохранение дерева в файл
20:51 - Загрузка дерева из файла
25:32 - Экономия по сравнению со списком
27:12 - Замечание о Null-безопасности
28:26 - Заключение

источник

👉@BookJava
👍2
Пишем игру на Java - Клон Танков. Часть 1

Вступление
Создаем Окно - [1]
Да будет цвет - [2]
Изображения (теория) - [3]
Улучшаем графику - [4]
Мульти Буферизацыя - [5]

👉@BookJava
👍51
Опишите поведение аннотации @Autowired

1. Контейнер определяет тип объекта для внедрения
2. Контейнер ищет бины в контексте(он же контейнер), которые соответствуют нужному типу
3. Если есть несколько кандидатов, и один из них помечен как @Primary, то внедряется он
4. Если используется аннотации @Autowire + Qualifier, то контейнер будет использовать информацию из @Qualifier, чтобы понять, какой компонент внедрять
5. В противном случае контейнер попытается внедрить компонент, основываясь на его имени или ID
6. Если ни один из способов не сработал, то будет выброшено исключение

Контейнер обрабатывает DI с помощью AutowiredAnnotationBeanPostProcessor. В связи с этим, аннотация не может быть использована ни в одном BeanFactoryPP или BeanPP.

Если внедряемый объект массив, коллекция, или map с дженериком, то Spring внедрит все бины подходящие по типу в этот массив(или другую структуру данных). В случае с map ключом будет имя бина.

//параметр указывает, требуется ли DI
@Authowired(required = true/false)

👉@BookJava
👍5
Пишем игру на Java - Клон Танков. Часть 2

Структура игры - [6]
Ввод с клавиатуры - [7]
Загружаем ресурсы из файла - [8]
Создаем Спрайт - [9]
Класс Player и Entity - [10]
Создаем Уровень - [11]

👉@BookJava
👍61
Media is too big
VIEW IN TELEGRAM
Пишем RestApi на SpringBoot Java + MySQL

Spring Initializr 00:00
IntellijIdea 01:34
GetMapping 04:28
Class 06:09
API Layer 08:47
PostMapping 11:20
Подключаем MySQL 13:46
Configuration 19:41
Extra Fields 21:57
DeleteMapping 23:22
PutMapping 26:37
Почти готово 31:42
Обработка исключений 31:59
Унифицируем Response 39:56

источник

👉@BookJava
👍5
Совет 🚀 Spring Retry 🚀

Spring Retry предлагает возможность автоматического повторного выполнения неудачной операции. 🔥

https://github.com/spring-projects/spring-retry

👉@BookJava
👍4
Почему char[] предпочтительнее String для хранения пароля?

С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.

👉@BookJava
👍6🤔2🤮1