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
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
👍4
Напоминание о необходимости переключить стартовую зависимость DGS на интеграцию DGS/Spring GraphQL.
Скоро это будет сделано по умолчанию, поэтому, пожалуйста, протестируйте свои приложения. Мы не заметили никаких проблем с переключением в Netflix 🙌.
https://netflix.github.io/dgs/spring-graphql-integration/
#Java #GraphQL #springboot
👉@BookJava
Скоро это будет сделано по умолчанию, поэтому, пожалуйста, протестируйте свои приложения. Мы не заметили никаких проблем с переключением в Netflix 🙌.
https://netflix.github.io/dgs/spring-graphql-integration/
#Java #GraphQL #springboot
👉@BookJava
👍2❤1🤮1
Spring Boot с ограничением скорости 🚀
Реализуйте ограничение скорости с помощью Bucket4j! 🚀
https://bucket4j.com/
#SpringBoot #RateLimiting
👉@BookJava
Реализуйте ограничение скорости с помощью Bucket4j! 🚀
https://bucket4j.com/
#SpringBoot #RateLimiting
👉@BookJava
👍10
Совет по JPA 🚀
Упростите свои #Java модели данных, встраивая сложные типы непосредственно в ваши сущности с помощью аннотации
#Hibernate #SpringBoot #JavaDevelopment #ORM
👉@BookJava
Упростите свои #Java модели данных, встраивая сложные типы непосредственно в ваши сущности с помощью аннотации
@Embedded в @JPA! Это идеально подходит для многократно используемых компонентов, таких как адреса. 🔥#Hibernate #SpringBoot #JavaDevelopment #ORM
👉@BookJava
👍7
Советы по Spring Boot💡
Улучшите сборку образа контейнера
https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
Улучшите сборку образа контейнера
@springboot с помощью #Jlink! https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
👍5
Совет по Spring Boot💡
Улучшите сборку образа контейнера
https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
Улучшите сборку образа контейнера
@springboot с помощью #Jlink! 🔥https://paketo.io/docs/howto/java/#install-a-minimal-jre-with-jlink
#SpringBoot #Java
👉@BookJava
❤5👍1
Media is too big
VIEW IN TELEGRAM
Хранилище файлов. Java + WebDav
Java + WebDav - загружаем файл на webdav через Rest запрос.
00:00 Приветствие
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 что не так?
20:46 Подписывайтесь
источник
👉@BookJava
Java + WebDav - загружаем файл на webdav через Rest запрос.
00:00 Приветствие
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 что не так?
20:46 Подписывайтесь
источник
👉@BookJava
👍5
@TransactionalEventListener — это специализированная версия @EventListener, которая прослушивает событие и ждёт завершения текущей транзакции, прежде чем сработать. Ожидание согласованного состояния базы данных позволяет безопаснее реагировать на изменения, внесённые в БД ✨
#Java #springboot
👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4
☕️ Spring Core: Зачем нужна аннотация
Если вы работаете со Spring, вы видите эту аннотацию постоянно. Но чем она отличается от простого навешивания
💡 Что это такое?
Аннотация
🛠 Как это выглядит?
🔥 Когда использовать
Это самый частый вопрос на собеседованиях.
1. Используйте
- Это ваш класс. Вы имеете доступ к исходному коду.
- Вам нужна магия автоматического сканирования (
2. Используйте
- Сторонние библиотеки. Вы не можете зайти в класс
- Сложная логика создания. Если создание объекта требует условий (
⚙️ Фишки
- Имена: По умолчанию имя бина совпадает с именем метода. Можно изменить:
- Init/Destroy: Можно указать методы, которые сработают при создании или удалении бина:
- Зависимости: Если методу с
Итог:
#Java #Spring #SpringBoot #Coding #Education
📲 Мы в MAX
👉@BookJava
@Bean?Если вы работаете со Spring, вы видите эту аннотацию постоянно. Но чем она отличается от простого навешивания
@Component над классом? Давайте разберем.💡 Что это такое?
Аннотация
@Bean используется в методах конфигурационных классов (помеченных @Configuration). Она говорит Spring-контейнеру:"Эй, Spring! Выполни этот метод, возьми то, что он вернет, и сохрани этот объект у себя в контексте (ApplicationContext). Управляй им как бином".
🛠 Как это выглядит?
@Configuration
public class AppConfig {
// Мы явно создаем объект и отдаем его Спрингу
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper(); // Например, библиотека Jackson
}
}
🔥 Когда использовать
@Bean, а когда @Component?Это самый частый вопрос на собеседованиях.
1. Используйте
@Component (и @Service, @Repository), когда:- Это ваш класс. Вы имеете доступ к исходному коду.
- Вам нужна магия автоматического сканирования (
component scanning). Вы просто ставите аннотацию над классом, и Spring сам его находит.2. Используйте
@Bean, когда:- Сторонние библиотеки. Вы не можете зайти в класс
ObjectMapper (из Jackson) или AmazonS3Client и написать там @Component, потому что это чужой код (read-only). Чтобы добавить такой объект в контекст Spring, вы создаете для него метод с @Bean.- Сложная логика создания. Если создание объекта требует условий (
if/else) или сложной конфигурации, проще описать это в методе явно.⚙️ Фишки
@Bean- Имена: По умолчанию имя бина совпадает с именем метода. Можно изменить:
@Bean("myCoolBean").- Init/Destroy: Можно указать методы, которые сработают при создании или удалении бина:
@Bean(initMethod = "init", destroyMethod = "cleanup").- Зависимости: Если методу с
@Bean нужны аргументы, Spring автоматически найдет и подставит их из контекста.Итог:
@Component - для автоматизации своих классов, @Bean - для ручного контроля и чужих библиотек.#Java #Spring #SpringBoot #Coding #Education
👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1