Урок 20. Spring Hibernate. Аннотация @Transactional и понятие Connection Pool

В этом видео я расскажу о том, как можно оптимизировать работу с БД в веб-приложениях. Инструментов для оптимизации будет несколько, поэтому в уроке я постараюсь дать ответы на следующие вопросы: 1. За что отвечает аннотация @PersistenceContext? 2. Чем @PersistenceContext отличается от @Autowired? 3. За что отвечает аннотация @Transactional? Как ей пользоваться? 4. За что отвечает аннотация @EnableTransactionManagement? 5. Что такое Connection Pool? Почему он так важен? 6. Как настроить Connection Pool? 🔗 Исходники к уроку можно найти тут —
⌛️ Я постепенно буду выкладывать серию уроков по Spring (их будет около 40 штук), где я покажу и научу работать с такими инструментами, как Spring MVC, Spring Data, Spring Boot, Spring Security и Spring REST. И все это на реальных примерах. 🔔 Если не хочешь пропустить эти уроки, то подписывайся на канал. Обещаю, что это будет самый понятный и крутой курс по Spring, который есть в открытом доступе. 👉 Хочешь бесплатную консультацию от меня, то пиши в личку Telegram —
Таймкоды для удобства: 00:00 — Вступление 00:11 — Аннотация @PersistenceContext. Чем отличается от @Autowired? 04:35 — Аннотации @Transactional и @EnableTransactionManagement 06:09 — Настраиваем TransactionManager в веб-приложении 08:28 — Почему НЕ нужно запоминать все конфиги для Spring-приложений? 10:37 — Используем аннотацию @Transactional на практике 17:03 — Разбираем некоторые параметры аннотации @Transactional 25:09 — Исправляем баг, связанный с сортировкой записей из БД 29:40 — Проверяем, что транзакции действительно работают 32:30 — Что такое Connection Pool? 35:56 — Настраиваем Apache Database Connection Pool для веб-приложения 47:29 — Проверяем, что приложение работает после настройки Connection Pool 48:34 — Нюанс аннотации @Transactional и типа загрузки Lazy 50:12 — Почему @Transactional лучше размещать над сервисами? 53:24 — Подводим итоги Мои социальные сети: Instagram:   / artyom.mikhaylov   LinkedIn:   / artyom-mikhaylov   Личный Telegram:
Полезные ссылки: 🔗 Про параметры isolation и propagation для аннотации @Transactional можно почитать тут —
🔗 Бенчмарк для сравнения HikariCP (лучший на данный момент) с другими Connection Pool-ами можно найти тут —
🔗 Бенчмарк Connection Pooling vs. No Pooling можно найти тут —
🔗 Зависимость на библиотеку Apache Database Connection Pool можно найти тут —
🔗 Официальную документацию по Apache Database Connection Pool можно найти тут —
Теги: #айти #программирование #hibernate #springframework

Смотрите также