Тёмный

МФТИ Core Java 2020 Лекция 13 

Ivan Ponomarev
Подписаться 2,6 тыс.
Просмотров 5 тыс.
50% 1

Dependency Injection. Принцип работы DI-контейнера. Принцип работы DI-контейнера (окончание). Spring Framework: Spring DI

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 8   
@jolymourner4014
@jolymourner4014 2 месяца назад
Есть ли практический смысл от указания bound в аргументе параметризованного метода, если параметризация метода подстраивается при каждом последующем его вызове? Кажется, что метод public T createObject(Class
@statuxia
@statuxia Год назад
0:14 - Проблемы GoF-синлетона 3:21 - Проблемы GoF-синглетона (в пунктах) 4:17 - Фабрика 8:30 - Dependency Injection 10:02 - DI Frameworks 10:37 - Построим свой DI-фреймворк "на коленке" 12:52 - Лектор-робот 13:44 - Задача: Фабрика должна после создания объекта инжектила объекты в переменные. 14:17 - Режим лектора 14:55 - А как "зарядить"? 15:27 - Демонстрация кода. 16:14 - Реализация "магии". Изучение метода createObject. 16:16 - Создание RobotLecturer 19:02 - Создание объекта из конструктора без аргумента. 19:24 - Первый запуск с созданным объектом RobotLecturer. 20:15 - История Евгения Борисова из своей практики. 23:12 - Следующий шаг - сконфигурировать объект. 25:23 - Разбираем что делает метод configure(). 28:07 - Усложняем задачу. Inject'им объекты передавая параметры в аннотации. 31:15 - Создаем новый конфигуратор. 33:21 - Однако лучше делать лист конфигураторов. 34:26 - А откуда взялись configurators? 37:56 - Запуск с изменениями, но он еще не говорит. Почему? 39:52 - PostConstruct - стандартная аннотация javax.annotation; 41:18 - Делаем так, чтобы ObjectFactory дергал PostConstruct методы. 42:43 - Последовательность действий - визуализация. 44:01 - Но это еще не вся история. 44:28 - Измеряем насколько быстро говоритель говорит. Аннотация @Benchmark 46:41 - Когда нужно модифицировать действие метода 46:52 - Прокси-объект 47:52 - BenchmarkProxyConfigurator 49:58 - Пробуем отладить программу. Неудачно :( 53:52 - Последовательность действий (окончательная картина) 55:02 - Промежуточные выводы 56:17 - Добро пожаловать, его величество Spring. 59:00 - Переписываем наш пример с "самодельного" фреймворка на Spring 1:00:04 - Изучаем пример со Spring'ом 1:02:14 - Spring Beans 1:03:31 - Способы конфигурации Spring 1:05:37 - Как определять бины 1:07:57 - Classpath scanning 1:09:34 - @Configuration class 1:10:04 - @Configuration class - пример 1:10:54 - @Scope (Bean scope) 1:13:09 - @Lazy 1:15:42 - Bean name 1:16:10 - Виды injection ("впрыскивания") 1:16:36 - Constructor injection 1:18:56 - Setter injection 1:19:51 - Field injection 1:21:55 - Lookup method injection 1:25:08 - Lookup-метод может и не быть абстрактным
@statuxia
@statuxia Год назад
Привет тому, кто читает этот комментарий. Это таймкоды, которые я ставил для себя, когда разбирал лекции. Я решил поделиться ими со всеми. Возможно они кому-то помогут. Спасибо за внимание.
@_Vertan_
@_Vertan_ 3 года назад
Вы вроде бы и в процессе презентации поняли, что вместо переданного type нужно было использовать t.getClass(), поняли, что ломаются лямбды из-за того, что type перестал быть "final", создали новую переменную и осталось только заменить ею type в лямбдах, но в итоге передумали это делать, что вас в итоге остановило? Могу предположить, что работать аннотация могла либо для объекта, у которого в принципе нету интерфейса-родителя, либо который объявлялся не по типу интерфейса, а по типу реализации (т.е. type совпадал с t.getClass()).
@inponomarev
@inponomarev 3 года назад
Наверное, остановила боязнь "закопаться" в отладке и потерять драгоценное время. После лекции я, конечно, быстро разобрался и пофиксил пример, в исходниках теперь всё норм работает. Во время лекции думаешь о том, как успеть уложиться в тайминг и нервничаешь, если что-то идёт не так =)
@AlexParog
@AlexParog 6 месяцев назад
@@inponomarevа где можно посмотреть исходники?
@inponomarev
@inponomarev 5 месяцев назад
@@AlexParog github.com/inponomarev/java-mipt
@AlexParog
@AlexParog 5 месяцев назад
@@inponomarev спасибо!
Далее
МФТИ Core Java 2020 Лекция 14
1:24:56
Просмотров 5 тыс.
МФТИ Core Java 2020 Лекция 10
1:09:41
Просмотров 6 тыс.
Airpod Through Glass Trick! 😱 #shorts
00:19
Просмотров 647 тыс.
МФТИ Core Java 2020 Лекция 11
1:24:32
Просмотров 6 тыс.
JAVA 1 RU (19.09.2024) LESSON 5 - Viktor
3:10:49
HTTP в 1С за 3 часа
3:23:54
Просмотров 449 тыс.
МФТИ Core Java 2020 Лекция 12
1:25:18
Просмотров 6 тыс.
Airpod Through Glass Trick! 😱 #shorts
00:19
Просмотров 647 тыс.