0:00 - BeanFactoryPostProcessor 2:58 - @DeprecatedClass через BeanFactoryPostProcessor 10:43 - способ через аннотации @Component 12:24 - ClassPathBeanDefifnitionScanner 13:08 - способ через Java Config 16:27 - метод @Bean это не метод Java, это определение бина, просто имеет формат метода Java 16:47 - ConfigurationClassPostProcessor - особый BeanFactoryPostProccesor (! не bpp, а именно bFpp !) 17:45 - Groovy Config 19:54 - Пишем свой контекст 23:36 - Пишем свой контекст: context.properies 24:53 - Пишем свой контекст: PropertyFileApplicationContext 30:00 - Обновление Prototype в Singleton 38:06 - Обновление Prototype в Singleton: Prototype - Prototype 40:58 - Обновление Prototype в Singleton: Решение 1 (не правильное, через инжект ApplicationContext) 42:50 - Обновление Prototype в Singleton: Решение 2 (решение 50/50, через proxyMode = ...TARGET_CLASS, т.к. другая крайность - при любом обращении к полю - новый бин) 43:50 - Обновление Prototype в Singleton: Решение 3 (через фабричный метод и абстрактный класс) 46:53 - Написание кастомного Scope 59:16 - Benchmarks (Правильный бенчмарк - использовать сторонние инструменты, а не "изобретать велосипед", иначе ложный результат.) 1:04:27 - Benchmarks. Lookup бина. 1:05:06 1:05:13 - Benchmarks. Создание бина. 1:07:34 XML (700) < Annotation (2100) < Java Config (5100) 1:07:40 - Benchmarks. Инжекшн. 1:08:24 Annotation (150) < XML/Groovy (700 - 900) < Java Config (3000) 1:09:57 - Benchmarks. Создание объекта с прокси. 1:10:28 - (3,3) < DP (1800) < CGLib (4000) 1:10:48 - Benchmarks. Инвокация метода через прокси. 1:11:47 - (3,3) < CGLib/DP (10) < Spring Aspect (250)
@dmitriyn94622 жыл бұрын
Я только удивлён, у такого грамотного и бесценного материала всего 130к просмотров... В то же время у какого-нибудь мусора миллионы))) Автору огромное спасибо!
@airat2010 Жыл бұрын
поэтому основная масса и живет по течению. и получает деньги чтобы не умереть . А это для Java разработчиков - это гордая профессия
@protiv_bio10 ай бұрын
@@airat2010 Java, это Java, на лучшем языке писать имеешь право
@yaroslavz18634 ай бұрын
подскажи пожалуйста есть на гите это?
@НиколайСкородумов-л7з Жыл бұрын
Жека, спасибо большое! Смотреть интересно и увлекательно. Дай Бог тебе здоровья)
@ДмитрийСлисенко-ю9е6 жыл бұрын
Чертовский интересно, полезно, грамотно, живо. Спасибо за труд!
@артурмалашков-э2е Жыл бұрын
когда 10 минут видео пересматриваешь 10 раз)
@глебк-п1н5 ай бұрын
Один из любимых докладов, прям вот кайфую от просмотра
@alexei33667 ай бұрын
На этом приложении понятно , что такое прототайп и что такое сингелтон 🙂 Зачет!
@zugzug907 жыл бұрын
ОГНЕННОЕ ВИДЕО! Жека - терминатор!
@Twitteron_8 ай бұрын
Тёзка, спасибо, ты лучший учитель по спрингу!
@вапвапвапвапва-ж1и4 ай бұрын
тёзка, учите русский
@Paul-Olkov13 күн бұрын
@@вапвапвапвапва-ж1и душнила ты
@ДимаГоликов-с6ш3 жыл бұрын
очень интересные примеры, которые наводят улыбку и поднимают настроение)
@VadimMikhnevych10 жыл бұрын
Отличный метод раздачи футболок! :)
@ЕвгенийШабунин-ъ1б Жыл бұрын
Спасибо большое эту потрясающую лекцию. Очень хотелось бы попасть на офлайн конференцию к Евгению!
@andrey19833 жыл бұрын
Спасибо за отличный доклад!
@igore4ek19888 жыл бұрын
"Какая разница между Spring, String и Swing?" )))
@aslankussein32378 жыл бұрын
во второй букве
@ip49893 жыл бұрын
Swing это когда парами меняются
@randomaccess44023 жыл бұрын
@@ip4989 нет, это графическая либа в джаве
@ip49893 жыл бұрын
@@randomaccess4402 если я смотрю видео по спрингу, каков шанс, что я не знаю что такое свинг?)
@NeptuneCasto3 жыл бұрын
@@ip4989 Зависит от того в какой год отправили терминатора)
@mrtoot34744 жыл бұрын
кстати, Color можно было еще вот так определить @Autowired private javax.inject.Provider color; и потом где нужно color.get();
@dreamer_vi9057 ай бұрын
Прошло 9 лет. Про создание бинов через Groovy так и не слышал.
@tusman4ik6 ай бұрын
По факту:) Хз, мне сразу показалось, что это не удобно
@dotnet20129 ай бұрын
Доклад вышел 26.06.2014, а 04.09.2014 вышел Spring 4.1 где появилась аннотация @Lookup, которая по сути делает то же самое что и Евгений на 43:56
@lexbekker2 жыл бұрын
Легенда
@dimitryrusu4022 Жыл бұрын
Мой мозг от этой лекции: Я ЖИДКИЙ
@Daniel-mo1iy Жыл бұрын
Да! Я тоже сразу не понимаю, первую лекцию смотрел раза 3)
@evileye1004 жыл бұрын
всю лекцию смотрел, не стоит ли у меня ускоренное воспроизведение видео, не стояло...
@looklearn47453 жыл бұрын
Это для меня очень важный фактор оценки, чаще всего приходится ставить скорость на 1.5, потому что спикеры мямлят. Тут не пригодилось, отличная подача
@alexanderyurlov83199 жыл бұрын
Интересно слушать, хорошая подача! А есть код программы? посмотреть бы повнимательнее.
@mykytapiskarov72914 жыл бұрын
43:00-44:00 Не понимаю, почему использование proxyMode = target class у бина Color приводит к тому что при получение ColorFrame его зависимость Color будет каждый раз разная По логике ColorFrame должен иметь один и тотже цвет, только этот цвет по сути прокси через cglib
@mykytapiskarov72914 жыл бұрын
Отвечаю на свой коммент, дело в комбинации скопа прототайп и использовании прокси. При вызове любого метода прокси обьекта вначале изпользуя TargetSource получается объект что должен проксироватся. При чем для получения target обьекта используется beanFactory.getBean, что приводит к создании нового обекта, тк скоп бина в данном случае прототайп
@Lecomptby4 жыл бұрын
@@mykytapiskarov7291 как ты узнал?)
@mykytapiskarov72914 жыл бұрын
Harv two погулял по соурс коду спринга
@goodvideobro7 ай бұрын
просто супер
@Max-wn2gd3 жыл бұрын
кому-нибудь удалось первый пример с заменой класса воспроизвести ? У Евгения на 9:30 возвращается нужный бин и вызывается метод, а у меня возвращется null
@ruslansitdikov14895 жыл бұрын
А когда пропертя загружаются? И можно ли их заюзать в postProcessBeanFactory?
@МарияПомазкина-д6э7 жыл бұрын
50-60 минуты, где создается Scope "periodical", я воспроизвела этот пример, долго смотрела на работающую программу и обнаружила, что через 20-30 секунд Screensaver перестает менять цвет. Время смены цвета в коде я указала 2 секунды. Кто также воспроизводил код, понаблюдайте подольше за работающей программой, возникнет ли у вас такое же странное поведение?
@GoodGuyFinishFirst7 жыл бұрын
Думаю проблема в том что метод getSecond() возвращает секунды в минуте, и когда now() доходит до конца минуты то секунды сбрасываются в ноль, и разность now().getSecond() - someTime.getSecond() уходит в отрицательные значения а значит меньше 3. Надо пользоваться duration-ами. Как написал Igor Salnikov выше.
@МарияПомазкина-д6э7 жыл бұрын
Вот спасибо!
@NiyamaFoxy2 жыл бұрын
Всё ещё актуально?
@grigorym3125 Жыл бұрын
Проблема в том, что метод getSecond() возвращает кол-во секунд от начала минуты (то есть значение от 0 до 60), соответственно смена цвета будет не каждые три секунды, а как повезет (например если первый вызов был в 10:20 а следующий в 11:10, то цвет не сменится)
@smormanyak4 жыл бұрын
Этому человеку надо книги писать ) Есть что-то подобное почитать?
@thestory2417 Жыл бұрын
Legenda!
@timon593883 жыл бұрын
Приятная атмосфера в аудитории шутят, подсказывают, майки требуют
@andrei41459 жыл бұрын
Эпично
@oleksandrdyachuk39517 жыл бұрын
Я хочу от него ребенка!)))
@Ivan54r6 жыл бұрын
для это нужно переписать beanpostprocessor
@inbuckswetrust73575 жыл бұрын
java когда чтобы отнять два времени нужно гуглить ;)
@iharbakhanovich2 жыл бұрын
ссылка на гит есть?
@rustpoint-q9q11 ай бұрын
Как он все понимает, научите меня, буду весьма благодарен
@m0naco6086 ай бұрын
Он разработчик со стажем больше 20 лет )
@MrMaksimsergeevich5 жыл бұрын
Кто в итоге ящик пива выиграл? Барух или Жека?
@romandzhadan55462 жыл бұрын
top
@nickb.96774 жыл бұрын
Benchmark, кстати, отнюдь не восьмилетний =) Цифра 8 на этикетке к возрасту никакого отношения не имеет.
@UnitedFeodor Жыл бұрын
45
@melukandrew3 жыл бұрын
не вижу ничего плохого, что бы автовайрить контекст в синглтон и из него получать Бин. Да больше связность, но больше контроля, более предсказуемо и очевидно будет работать, в продакшене только такое и встречал. Смущает, что если вызвать по ошибке гетколор 2 раза в одном методе, то будет 2 разных инстенса, это не очевидно в месте вызова, потом можно долго искать причину баги.
@watchyourstepskid4 жыл бұрын
Сколько людей без масок, ужас
@whoamiukr3 жыл бұрын
чудом выжили!
@burningass55162 жыл бұрын
Я, конечно, всё понимаю, но откуда у студента деньги на 8-летний виски?