🔥 Як працює магія Spring під капотом? @EnableMagic, BeanDefinition та BeanPostProcessor
👉 Приєднуйся до Bobocode Community: ____________________________________________ Patreon: / bobocode GitHub: Telegram: LinkedIn: Twitter: Тарас в LinkedIn: Тарас в Twitter: ____________________________________________ 18-те заняття тренувальної програми Ultimate Enterprise Java (2021). УВАГА! Відеозапис не містить активної частини заняття. 00:00 - Нарізка основних моментів 03:14 - Початок 05:22 - Що робить Spring IoC? 06:40 - Просто про роботу IoC контейнера 07:56 - Чому Spring IoC такий складний? 08:27 - Великі можливості 10:58 - Крайні випадки 11:52 - Який патерн лежить в основі магії? 12:09 - Що таке дизайн патерн Proxy? 13:25 - ОСНОВНІ КОНЦЕПЦІЇ 13:27 - Що таке Bean? 13:47 - Що таке BeanDefinition? 14:27 - Що таке BeanPostProcessor? 15:15 - Що таке BeanFactoryPostProcessor? 15:45 - Демо 1 16:04 - Створюємо Spring-застосунок 17:50 - Створюємо ApplicationContext вручну 19:29 - Як отримати назви всіх BeanDefinition? 20:50 - Як біни Spring реєструє за замовчуванням? 21:30 - Створюємо Spring Boot-застосунок 23:21 - Як біни Spring Boot реєструє за замовчуванням? 23:40 - Порівнюємо початковий контекст Spring і Spring Boot 24:48 - Детальніше про BeanDefinition 25:21 - Дивимося логи під час ініціалізації контексту 29:03 - Як створити власний BeanDefinition? 34:41 - Коли створиться бін по нашому BeanDefinition? 37:56 - Як Spring зберігає біни? 40:20 - Як Spring вирішує циклічну залежніть? 45:27 - Реалізовуємо асинхронний виклик метода за доп. @Async 51:30 - Як працює @Async? 53:55 - Демо 2 54:12 - Створюємо @EnableMethodLogging 56:18 - 🔥 Реалізовуємо свій BeanPostProcessor 01:00:51 - Реалізовуємо метод postProcessAfterInitialization 01:06:04 - Створюємо проксі для біна за доп. CGLib 01:14:51 - Як працюють аннотації @Enable...? 01:19:38 - Приклад BeanPostProcessor 01:23:40 - Який звʼязок між AOP і BeanPostProcessor? 01:25:24 - Що таке умовні біни (@Conditional)? 01:28:25 - @ConditionalOn... #opensource #java #education