Komentáře •

  • @user-ut9ni6ir2r
    @user-ut9ni6ir2r Před 5 dny

    Один из любимых докладов, прям вот кайфую от просмотра

  • @strash1692
    @strash1692 Před 2 lety +66

    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)

  • @dmitriyn9462
    @dmitriyn9462 Před 2 lety +39

    Я только удивлён, у такого грамотного и бесценного материала всего 130к просмотров... В то же время у какого-нибудь мусора миллионы))) Автору огромное спасибо!

    • @airat2010
      @airat2010 Před rokem +7

      поэтому основная масса и живет по течению. и получает деньги чтобы не умереть . А это для Java разработчиков - это гордая профессия

    • @protiv_bio
      @protiv_bio Před 5 měsíci

      @@airat2010 Java, это Java, на лучшем языке писать имеешь право

  • @Twitteron_
    @Twitteron_ Před 3 měsíci +1

    Тёска, спасибо, ты лучший учитель по спрингу!

  • @user-qg3kx2cq7d
    @user-qg3kx2cq7d Před 7 měsíci +4

    Жека, спасибо большое! Смотреть интересно и увлекательно. Дай Бог тебе здоровья)

  • @user-xq6py9re4c
    @user-xq6py9re4c Před rokem +6

    когда 10 минут видео пересматриваешь 10 раз)

  • @andrey1983
    @andrey1983 Před 2 lety

    Спасибо за отличный доклад!

  • @user-vm7re9bu9r
    @user-vm7re9bu9r Před 2 lety +1

    очень интересные примеры, которые наводят улыбку и поднимают настроение)

  • @user-if6ro8gp8m
    @user-if6ro8gp8m Před 6 lety +23

    Чертовский интересно, полезно, грамотно, живо. Спасибо за труд!

  • @alexei3366
    @alexei3366 Před 2 měsíci

    На этом приложении понятно , что такое прототайп и что такое сингелтон 🙂 Зачет!

  • @user-ix2cf5ny1q
    @user-ix2cf5ny1q Před rokem +1

    Спасибо большое эту потрясающую лекцию. Очень хотелось бы попасть на офлайн конференцию к Евгению!

  • @lexbekker
    @lexbekker Před rokem +1

    Легенда

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i Před 2 měsíci

    просто супер

  • @evileye100
    @evileye100 Před 3 lety +11

    всю лекцию смотрел, не стоит ли у меня ускоренное воспроизведение видео, не стояло...

    • @looklearn4745
      @looklearn4745 Před 3 lety +1

      Это для меня очень важный фактор оценки, чаще всего приходится ставить скорость на 1.5, потому что спикеры мямлят. Тут не пригодилось, отличная подача

  • @mrtoot3474
    @mrtoot3474 Před 3 lety +2

    кстати, Color можно было еще вот так определить
    @Autowired
    private javax.inject.Provider color;
    и потом где нужно
    color.get();

  • @thestory2417
    @thestory2417 Před rokem

    Legenda!

  • @romandzhadan5546
    @romandzhadan5546 Před 2 lety

    top

  • @Max-wn2gd
    @Max-wn2gd Před 2 lety

    кому-нибудь удалось первый пример с заменой класса воспроизвести ? У Евгения на 9:30 возвращается нужный бин и вызывается метод, а у меня возвращется null

  • @mykytapiskarov7291
    @mykytapiskarov7291 Před 3 lety +2

    43:00-44:00
    Не понимаю, почему использование proxyMode = target class у бина Color приводит к тому что при получение ColorFrame его зависимость Color будет каждый раз разная
    По логике ColorFrame должен иметь один и тотже цвет, только этот цвет по сути прокси через cglib

    • @mykytapiskarov7291
      @mykytapiskarov7291 Před 3 lety +2

      Отвечаю на свой коммент, дело в комбинации скопа прототайп и использовании прокси. При вызове любого метода прокси обьекта вначале изпользуя TargetSource получается объект что должен проксироватся. При чем для получения target обьекта используется beanFactory.getBean, что приводит к создании нового обекта, тк скоп бина в данном случае прототайп

    • @Lecomptby
      @Lecomptby Před 3 lety

      @@mykytapiskarov7291 как ты узнал?)

    • @mykytapiskarov7291
      @mykytapiskarov7291 Před 3 lety

      Harv two погулял по соурс коду спринга

  • @dotnet2012
    @dotnet2012 Před 4 měsíci +1

    Доклад вышел 26.06.2014, а 04.09.2014 вышел Spring 4.1 где появилась аннотация @Lookup, которая по сути делает то же самое что и Евгений на 43:56

  • @dimitryrusu4022
    @dimitryrusu4022 Před rokem +8

    Мой мозг от этой лекции: Я ЖИДКИЙ

    • @Daniel-mo1iy
      @Daniel-mo1iy Před 10 měsíci

      Да! Я тоже сразу не понимаю, первую лекцию смотрел раза 3)

  • @smormanyak
    @smormanyak Před 3 lety +7

    Этому человеку надо книги писать ) Есть что-то подобное почитать?

  • @user-bh9hx3ue7i
    @user-bh9hx3ue7i Před 6 měsíci

    Как он все понимает, научите меня, буду весьма благодарен

    • @m0naco608
      @m0naco608 Před měsícem

      Он разработчик со стажем больше 20 лет )

  • @iharbakhanovich
    @iharbakhanovich Před rokem

    ссылка на гит есть?

  • @timon59388
    @timon59388 Před 2 lety +3

    Приятная атмосфера в аудитории шутят, подсказывают, майки требуют

  • @dreamer_vi905
    @dreamer_vi905 Před 2 měsíci

    Прошло 9 лет. Про создание бинов через Groovy так и не слышал.

    • @tusman4ik
      @tusman4ik Před měsícem

      По факту:) Хз, мне сразу показалось, что это не удобно

  • @UnitedFeodor
    @UnitedFeodor Před rokem

    45

  • @nickb.9677
    @nickb.9677 Před 3 lety

    Benchmark, кстати, отнюдь не восьмилетний =) Цифра 8 на этикетке к возрасту никакого отношения не имеет.

  • @burningass5516
    @burningass5516 Před 2 lety +1

    Я, конечно, всё понимаю, но откуда у студента деньги на 8-летний виски?

  • @melukandrew
    @melukandrew Před 3 lety

    не вижу ничего плохого, что бы автовайрить контекст в синглтон и из него получать Бин. Да больше связность, но больше контроля, более предсказуемо и очевидно будет работать, в продакшене только такое и встречал. Смущает, что если вызвать по ошибке гетколор 2 раза в одном методе, то будет 2 разных инстенса, это не очевидно в месте вызова, потом можно долго искать причину баги.

  • @watchyourstepskid
    @watchyourstepskid Před 3 lety +8

    Сколько людей без масок, ужас

    • @whoamiukr
      @whoamiukr Před 2 lety +3

      чудом выжили!

  • @zugzug90
    @zugzug90 Před 6 lety +12

    ОГНЕННОЕ ВИДЕО! Жека - терминатор!

  • @VadimMikhnevych
    @VadimMikhnevych Před 9 lety +19

    Отличный метод раздачи футболок! :)

  • @igore4ek1988
    @igore4ek1988 Před 8 lety +81

    "Какая разница между Spring, String и Swing?" )))

    • @aslankussein3237
      @aslankussein3237 Před 7 lety +24

      во второй букве

    • @ip4989
      @ip4989 Před 3 lety +12

      Swing это когда парами меняются

    • @randomaccess4402
      @randomaccess4402 Před 3 lety

      @@ip4989 нет, это графическая либа в джаве

    • @ip4989
      @ip4989 Před 3 lety +8

      @@randomaccess4402 если я смотрю видео по спрингу, каков шанс, что я не знаю что такое свинг?)

    • @NeptuneCasto
      @NeptuneCasto Před 3 lety +7

      @@ip4989 Зависит от того в какой год отправили терминатора)

  • @andrei4145
    @andrei4145 Před 8 lety

    Эпично

  • @alexanderyurlov8319
    @alexanderyurlov8319 Před 8 lety +6

    Интересно слушать, хорошая подача!
    А есть код программы? посмотреть бы повнимательнее.

  • @ruslansitdikov1489
    @ruslansitdikov1489 Před 4 lety

    А когда пропертя загружаются? И можно ли их заюзать в postProcessBeanFactory?

  • @user-sy4wu9er5v
    @user-sy4wu9er5v Před 7 lety

    50-60 минуты, где создается Scope "periodical", я воспроизвела этот пример, долго смотрела на работающую программу и обнаружила, что через 20-30 секунд Screensaver перестает менять цвет. Время смены цвета в коде я указала 2 секунды.
    Кто также воспроизводил код, понаблюдайте подольше за работающей программой, возникнет ли у вас такое же странное поведение?

    • @GoodGuyFinishFirst
      @GoodGuyFinishFirst Před 7 lety +10

      Думаю проблема в том что метод getSecond() возвращает секунды в минуте, и когда now() доходит до конца минуты то секунды сбрасываются в ноль, и разность now().getSecond() - someTime.getSecond() уходит в отрицательные значения а значит меньше 3. Надо пользоваться duration-ами. Как написал Igor Salnikov выше.

    • @user-sy4wu9er5v
      @user-sy4wu9er5v Před 7 lety

      Вот спасибо!

    • @NiyamaFoxy
      @NiyamaFoxy Před rokem +1

      Всё ещё актуально?

    • @grigorym3125
      @grigorym3125 Před 11 měsíci +1

      Проблема в том, что метод getSecond() возвращает кол-во секунд от начала минуты (то есть значение от 0 до 60), соответственно смена цвета будет не каждые три секунды, а как повезет (например если первый вызов был в 10:20 а следующий в 11:10, то цвет не сменится)

  • @inbuckswetrust7357
    @inbuckswetrust7357 Před 4 lety +2

    java когда чтобы отнять два времени нужно гуглить ;)

  • @MrMaksimsergeevich
    @MrMaksimsergeevich Před 5 lety

    Кто в итоге ящик пива выиграл? Барух или Жека?

  • @oleksandrdyachuk3951
    @oleksandrdyachuk3951 Před 6 lety +19

    Я хочу от него ребенка!)))

    • @Ivan54r
      @Ivan54r Před 5 lety +35

      для это нужно переписать beanpostprocessor