Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Урок 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