Евгений Борисов - Spring-потрошитель, часть 1

Поделиться
HTML-код
  • Опубликовано: 2 июл 2014
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . Евгений Борисов - Spring-потрошитель, часть 1
    Встреча JUG.ru
    Санкт-Петербург, 26.06.2014
    Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.
    Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
    Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):
    Насколько Spring влияет на производительность вашей программы?
    Что входит в жизненный цикл спринга?
    Как устроен ApplicationContext?
    «Вот это на Spring сделать нельзя» - а может можно?
  • НаукаНаука

Комментарии • 202

  • @tatyanayurchenko6840
    @tatyanayurchenko6840 Год назад +157

    8 лет прошло, а до сих пор актуальный и информативный доклад.

    • @user-nv9dr7nt3d
      @user-nv9dr7nt3d Год назад +24

      Я бы даже сказал, 8 лет прошло, а более качественного материала на эту тему я на просторах сети не нашел

    • @Daniel-mo1iy
      @Daniel-mo1iy Год назад +1

      @@user-nv9dr7nt3d как новичок сейчас смотрю, пока мало что понятно. но, думаю, дело времени.

    • @user-nv9dr7nt3d
      @user-nv9dr7nt3d Год назад

      @@Daniel-mo1iy сюда стоит заходит когда уже прошел какой-то приличный курс по спрингу, тогда прям будет хорошо

    • @serged5689
      @serged5689 Год назад +4

      8 лет прошло, а у нас эти фишки только начали использовать на проекте под маркой "а вот оказывается как ещё можно делать в спринге".

    • @mark_tatyschev
      @mark_tatyschev 8 месяцев назад +11

      продлеваем: 9 лет прошло, а до сих пор актуальный и информативный доклад.

  • @java_couch
    @java_couch 5 месяцев назад +36

    30 лет прошло, а доклад все еще актуальный.

  • @izmailovlz
    @izmailovlz 3 года назад +101

    Смотрю 5й раз, с каждым разом понимаю чуть больше)

    • @theAntoshka
      @theAntoshka 2 года назад +5

      это как библию читать))

  • @FreakySound2
    @FreakySound2 8 месяцев назад +16

    За время разработки цитатника в этом видео, я выделил топ цитат от Евгения:
    1) try-catch всегда некрасиво, и плохо сказывается на нервной системе
    2)
    -Вы используете тесты?
    -Да, мы пишем тесты
    -А как вы пишите тесты?
    -Ну как? - main создаем, прямо в том же классе, который надо протестировать - очень удобно. Прям там создаем объект из этого класса, запускаем, смотрим - если 17 - то нормально
    3) Лучше знать, что есть проблема (null), чем жить с каким-то нулем
    4) Знаете почему важно не делать грамотические ошибки? - стыдно перед заграничными партнерами
    5) ...сatch пустой не буду оставлять - грех

  • @edwarduisky
    @edwarduisky 7 лет назад +344

    познавательно и доходчиво, 10 постбинпроцессоров из 10

    • @ishunin97
      @ishunin97 6 лет назад +16

      ведьмак от мира фреймворков

    • @al1as643
      @al1as643 4 года назад +14

      Бинпостпроцессоров =))

    • @dspursuer
      @dspursuer Год назад +8

      скорее 5/5, по количеству выводимых рандомом сообщений

  • @Boyarsskiy
    @Boyarsskiy 4 года назад +40

    Плотность информации на одну минуту видео просто зашкаливает. Всё по делу без воды. Каждое предложение - очень ценная информация. Если по этим двум частям сделать книгу, то выйдет мануал страниц на 300, не меньше.

  • @Twitteron_
    @Twitteron_ 2 месяца назад +1

    Лучшие лекции по spring даже несмотря на дату публикации.

  • @Queee7
    @Queee7 3 года назад

    Евгений, спасибо. Очень доступно.

  • @karloslucas8768
    @karloslucas8768 4 года назад

    Отличное видео, понятным языком) Спасибо

  • @delalen8012
    @delalen8012 4 года назад +1

    Волшебная лекция) Спасибо)))

  • @TheVendeetta
    @TheVendeetta Год назад

    Просто огонь! Спасибо.

  • @user-ku6lc8zu4b
    @user-ku6lc8zu4b 2 года назад +7

    Спасибо большое за лекцию! И отдельное спасибо за чёткую наложенную картинку с кодом!

  • @hedgehog.in.nirvana
    @hedgehog.in.nirvana Год назад +1

    Да, человек умеет рассказывать. Спасибо большое.)

  • @vladimirgaydamakin7155
    @vladimirgaydamakin7155 5 месяцев назад +2

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

  • @vladislavosipenkov1412
    @vladislavosipenkov1412 2 года назад +1

    Один из лучших роликов по теме

  • @user-qb3ck7cq3k
    @user-qb3ck7cq3k Год назад

    Большое спасибо!

  • @user-fg8oo5fu6h
    @user-fg8oo5fu6h 3 года назад +1

    это оч круто, первый раз досмотрел до конца и даже что-то понял :)

  • @SkyAntins
    @SkyAntins 4 года назад +40

    Все советуют это видео новичкам в Спринге, так вот не слушайте их. Лекция явно для тех, кто уже в теме, так что если вы ничего не поняли - то нормально. Лично я вернулся к этой лекции спустя полгода работы на Спринге

    • @user-cc2hq4jl4m
      @user-cc2hq4jl4m 3 года назад +13

      вернулся спустя 3 года)
      полностью согласен, гораздо полезнее тем кто уже в теме

    • @spirridd
      @spirridd 2 года назад +2

      Необязательно. Я смотрел эту лекцию до того, как написал первые строчки на спринге.

    • @NickRuster
      @NickRuster 2 года назад +3

      @@spirridd я смотрю и нихрена не понимаю

    • @dimchik-kenshi
      @dimchik-kenshi 2 года назад

      Посоветуете что-то новичкам?)

    • @user-fj5dx1gf8u
      @user-fj5dx1gf8u Год назад +4

      @@dimchik-kenshi думаю вам уже неактуально, но может кому-то из прочитавших позже будет полезно
      У Алишева есть курс по Спрингу, часть которого лежит на ютубе в открытом доступе
      Канал alishev, там в целом много полезного по Java

  • @user-om9sc1tl8e
    @user-om9sc1tl8e Год назад +1

    ребята, это база! уважение Евгению

  • @alekseypradedov8885
    @alekseypradedov8885 Год назад

    Шикарно!

  • @dmitry_shelemekh
    @dmitry_shelemekh 3 года назад +1

    Как хорошо что есть в записи! Был бы на докладе в живую, уловил бы процентов 30 только..

  • @timon59388
    @timon59388 2 года назад +7

    Сначала проходил Spring сам, потом делал тестовые на Spring Boot, сейчас имея небольшой опыт смотрю его лекции на стажировке. Евгений очень круто и без воды объясняет, доходчиво и понятно. Как лектор он крутой

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i Месяц назад

    это сильно, браво

  • @MiSaxap
    @MiSaxap 11 месяцев назад

    Спасибо

  • @user-gu2sc5lj6g
    @user-gu2sc5lj6g Год назад +2

    Лучший спикер по Java!)

  • @Denis-sds
    @Denis-sds Год назад +5

    Если поставить скорость видео на х0.5, то можно услышать как говорит Евгений после употребления Бенчмарка или Синглтона

  • @cannibalirk3055
    @cannibalirk3055 Год назад +3

    Лекция крайне плотная и информативная. Но после неё всё равно остаётся куча внутренностей, которые еще надо "потрошить", изучать)) Например, про то, как работает сканер бинов в современной версии спринга. И каким именно образом работает класс, подменяемый dynamic proxy. Хотя, когда-то я еще писал свой кривой BeanDefinitionReader и BeanFactory, так что у меня всё таки вопросов по внутренностям чуть меньше)) Погружаться в это можно очень долго. Но это интересно!

  • @user-sy9rn6tu1b
    @user-sy9rn6tu1b 20 дней назад

    шедевр искусства

  • @GlebMtb
    @GlebMtb 2 года назад

    Смотрю в 2021 и мне прямо очень заходит, могут же

  • @ricardomilos857
    @ricardomilos857 Год назад +1

    До сих пор лучшее видео о спринге на ютубе

  • @AndreyDeveloper
    @AndreyDeveloper Год назад +3

    46:23 - двадцать шестое июня, четверг, воcемь вечера. Несмотря на то, что все устали от коммитов в проект, ребята нашли в себе силы прийти ещё на доклад Борисова и поразвиваться.

  • @poloplopol9791
    @poloplopol9791 Год назад +2

    считаю что работы Евгения должны спрашивать в универе и на собеседованиях на ровне с другими предметами

  • @maxlich9139
    @maxlich9139 Год назад +1

    А где можно найти презентацию доклада?

  • @someStudentChannel
    @someStudentChannel 2 года назад +4

    "Чиню баг, которого нет, а у него всё равно баг" жиза

  • @fredor2844
    @fredor2844 3 года назад

    39:32. А если метод ничего не возвращает?

  • @romandzhadan5546
    @romandzhadan5546 2 года назад

    top

  • @vitalykhan1354
    @vitalykhan1354 4 года назад +11

    прям с трудом верится, что видео перед выкладыванием не было ускорено. неужели можно так быстро мыслить, говорить и жестикулировать?)
    однако при просмотре на скорости 0,75 понимаешь, ... не мог человек в таком состоянии прийти на свое выступление)))

    • @pshavykin
      @pshavykin 3 года назад

      ))))

    • @klaussr
      @klaussr 3 года назад

      Люди все разные, энергичный просто человек, увлеченный

    • @tonyvladi9940
      @tonyvladi9940 Год назад

      Он просто это уже не первый десяток раз рассказывает, это я как экскурсионный гид говорю. Всё уже на автомате...

  • @mimi-cc3yu
    @mimi-cc3yu 2 года назад +4

    если бы я так защищал свой диплом, мне бы поставили шестерку и вручили приз зрительских симпатий

  • @user-ji4fm7sx3k
    @user-ji4fm7sx3k 3 года назад +2

    Как он делает эту магию при написании кода? пишет r и у него появляется целая строка, где он создает экземпляр класса Random. Потом в другом месте нажимает по всей видимости ctrl+alt+L и у него сами проставляются точка с запятой в конце строки, кто знает как это настроить?)

  • @seoonlyRU
    @seoonlyRU 9 месяцев назад +1

    палец вверх от СЕООНЛИ!!!!!!!!

  • @glhftobe3164
    @glhftobe3164 8 месяцев назад

    Подскажите стоит смотреть с этого если спринг не изучал до этого

    • @______________9358
      @______________9358 8 месяцев назад

      думаю нет,потому что ни хрена не поймешь. я прошел курс Алишева , написал маленький проект и даже после этого когда смотрел ничего не понял. раза 10 пересмотрел и вроде на 80% понял

    • @java_couch
      @java_couch 5 месяцев назад

      это можно понять только спустя годы работы, я начал это понимать где после 5 лет на спринге, до этого все это было просто как пустой звук

  • @user-jw7mq7jk1u
    @user-jw7mq7jk1u 2 года назад +1

    По поводу того, что спринг выбирает механизм проксирования CGlib или DynamicProxy,... он всегда использует Cglib, всегда

    • @user-rl8fy6xe1t
      @user-rl8fy6xe1t 9 месяцев назад

      Доку быть хоть почитал, как он создаст Gglib, если мой бин не наследуется ни от одного интерфейса?

    • @user-rl8fy6xe1t
      @user-rl8fy6xe1t 9 месяцев назад

      If the target object to be proxied implements at least one interface then a JDK dynamic proxy will be used. All of the interfaces implemented by the target type will be proxied. If the target object does not implement any interfaces then a CGLIB proxy will be created.

    • @java_couch
      @java_couch 5 месяцев назад

      хуйню не пиши, dynamic используется если класс имплементирует интерфейс, если нет будет cgLib

  • @ushik70
    @ushik70 2 года назад +3

    Классный урок. Но оператора я бы выгнал. Показывать лектора крупным планом без доски большую часть времени, это супер. Наверное оператор считает, что в размахивании руками информации больше, чем в примерах на доске.

  • @user-vg4sp9zo7f
    @user-vg4sp9zo7f Месяц назад

    Жесть конечно как тяжко всё это воспринимать человеку недавно зашедшему в спринг, по 20 раз пересматриваю каждый момент, чтобы понять что он там пытался осветить.

  • @igorm.9845
    @igorm.9845 3 года назад +1

    Так и не понял как он "решил" проблему с Lazy в самом конце.

  • @gennadygennady3458
    @gennadygennady3458 2 года назад

    11:37

  • @ffatheranderson
    @ffatheranderson 3 года назад +1

    26:24 - "то ему придётся делать очень сложную работу..... " - Евшений Борисов, Вам удаётся совмещать стендап комеди, с обучением программированию, и программированием людей на выполнение очень сложной работы. Х))

  • @tuhajeka613
    @tuhajeka613 3 года назад +1

    айбернет😂👍👍👍👍

    • @______________9358
      @______________9358 8 месяцев назад

      правильно будет hайбернет. букву h в русском алфавите не хватает.

  • @stanferrari4550
    @stanferrari4550 8 месяцев назад +1

    норм) обычный жизненный цикл бина... по поводу eventLiteners конечно накручено я думаю это было просто сказано в образовательных целях сомневаюсь чтобы вот так извращались в рядовых проектах обычно все заканчивается на postProcessAfterInitialization

  • @user-ek7sp5sb6j
    @user-ek7sp5sb6j 11 месяцев назад

    А МОЖНО Оборватьь

  • @dreamer_vi905
    @dreamer_vi905 2 года назад

    Не знал что Гарик в Спринге шарит.

  • @irinav3776
    @irinav3776 5 месяцев назад

    Вот бы скорость 0,9

  • @ffatheranderson
    @ffatheranderson 3 года назад

    28:16 - Евгений Борисов, небольшая поправка -Первый подход - это циглиб (когда класс не имеет интерфейса или класс файнал(с ваших слов)), а второй это динамик прокси.
    Вы просто 5ю секундами ранее говориле сначала о наследовании от классов, а потом как второй вариант от интерфейсов, и следом вы НАЗЫВАЕТЕ эти подходы как Динамик прокси и "вторым" Вы называетее циглиб.

  • @dimarosu
    @dimarosu Год назад

    че

  • @stepav
    @stepav 4 месяца назад

    мужик говорит в x2

  • @dimarosu
    @dimarosu Год назад

    ты бесиш

  • @AnnaIsHere
    @AnnaIsHere 3 года назад

    Для меня недоходчиво было от слова совсем, автор изъясняется на эльфийском, нужно смотреть каждое второе слово в словаре. Терминологии, которую объяснил вначале, раз-два и обчёлся.

  • @musicvoice3030
    @musicvoice3030 Год назад +1

    Шкода, що па рускі

    • @Daniel-mo1iy
      @Daniel-mo1iy Год назад

      Можно включить субтитры

    • @Bogdan666gabov
      @Bogdan666gabov Месяц назад

      Тем не менее ты его знаешь и понимаешь, в чем проблема?

    • @musicvoice3030
      @musicvoice3030 Месяц назад

      @@Bogdan666gabov погано сприймається

  • @oldblood3383
    @oldblood3383 3 года назад

    спринг - говно

  • @kookooyob3440
    @kookooyob3440 4 месяца назад

    Помогите! в конце этого видел, где Борисов пишет "3ю-фазу конструктора", на вот этом моменте
    @Autowired
    ConfigurableListableBeanFactory factory;
    ... у меня почему-то вместо в фабрики инжектится null
    Говорят, это частая ошибка а, если компонент незареган в Контексте, но кого нам регистрировать, Фабрику Спринга что ли??)
    В общем я уже все до буквы за Борисовым переписал, стэковерфлоу твердит про причины см.выше, которые по идее не имеют отношения к нашей ситуации. . .

  • @tarasshpek
    @tarasshpek 5 лет назад +195

    Этот доклад прям на цитаты можно разбирать:
    "Лучше получить эксепшн, чем жить с каким-то нулем",
    "Не буду catch блок пустым оставлять - грех".

    • @programming7777
      @programming7777 3 года назад +24

      "трай и кетч всегда некрасиво и плохо сказывается на нервной системе" :)

    • @hramovalexey
      @hramovalexey 3 года назад +17

      Еще это: "Если у внутреннего компонента спринга класс меньше двадцати букв, то это просто несерьезно" ))

    • @9Ipowa
      @9Ipowa 2 года назад +5

      @@hramovalexey Либо как в части про профилирование: "Если стоит - то ему придется делать сложную работу"

    • @toshgun23
      @toshgun23 2 года назад +8

      "А кто здесь не грешил? ))"

  • @Denis-Orlov
    @Denis-Orlov 4 года назад +81

    08:30 BeanPostProcessor
    25:15 Профайлер, JMX
    49:00 ApplicationListener
    Спасибо!

  • @BiteMyBrain
    @BiteMyBrain 10 лет назад +141

    Огромное спасибо за такое видео. Чел просто супер объясняет. Побольше бы именно такого плана видео.

    • @azamatk4302
      @azamatk4302 3 года назад +1

      Если у программистов есть хороший тон и правила чистого кода, то у ведущего (в данном случае докладчика) не должны быть "айбернейты" , "собаки", также эмм ымм бээем. При всем уважении.

    • @BiteMyBrain
      @BiteMyBrain 3 года назад +4

      @@azamatk4302 так вам шашечки или ехать? :)

    • @azamatk4302
      @azamatk4302 3 года назад +1

      @@BiteMyBrain Посмотрел далее ... Доклад отличный! По вашей аналогии, примерно как сесть в такси бомбилы из Кавказа :) Водитель с акцентом, но душевно что-то рассказывает =)

  • @zixitix3374
    @zixitix3374 4 года назад

    Офигительный доклад, спасибо!

  • @alexeyea
    @alexeyea 5 лет назад +2

    Спасибо вам огромное. Один из самых приятных докладов. Евгений отлично рассказывает, все очень последовательно и по делу.

  • @user-hf5ry2ni8r
    @user-hf5ry2ni8r 6 лет назад +5

    Доклад очень хороший . Только недавно начал работать со Спрингом . после доклада стало намного понятнее как он работает . Супер !

  • @eugenek951
    @eugenek951 7 лет назад +1

    Gut gemachen, Evgeny!

  • @Glebka27
    @Glebka27 5 лет назад +1

    Легендарный доклад

  • @user-gs7ub8ku4t
    @user-gs7ub8ku4t 6 лет назад +5

    Кто эти люди, которые поставили дизлайк!!??
    Доклад на высоте, спасибо.

  • @dimagarbar816
    @dimagarbar816 6 лет назад +4

    Лекция супер. Если кому интересно, то рандом так игрался из-за того, что в метод передаем не разницу, а сумму (смещаем отрезок)

  • @evgen1000end
    @evgen1000end 8 лет назад +93

    Один из лучших технических докладов на русском языке

  • @eeeee5798
    @eeeee5798 7 лет назад +36

    Пока смотрела все было понятно. На следующий день хотела повторить- вообще ниче не помню! А вообще, доклад- супер. Если эта инфа и есть в оф доках, отфильтровать ее самостоятельно было бы очень не просто

  • @niyazkadirov8593
    @niyazkadirov8593 4 года назад

    Где посмотреться второй часть?

  • @therorium
    @therorium 9 лет назад +12

    +1 за Therion

  • @pavelkirin5753
    @pavelkirin5753 10 лет назад

    Не пропущена ли часть видео где Евгений с пакетом qualifiers играется?

  • @andrewbatkovich8035
    @andrewbatkovich8035 6 лет назад

    еще ПрОфиль и профИль.))) Лекция супер.

  • @geraltrivians9356
    @geraltrivians9356 4 года назад +6

    Евгений крайне интересно вещает, запись смотрится на одном дыхании, но всё время меня не покидала мысль, что поведением похож на Александра Якушева("Курск" КВН)

    • @twinklegroup8741
      @twinklegroup8741 4 года назад

      а я смотрю и думаю, кого же он мне напоминает

  • @ME-ls9de
    @ME-ls9de 4 года назад

    можно и заимплементить интерфейс BeanFactoryPostProcessor и доставать через рефлексию нужны поля, разница только в том, что BeanPostProcessor работатет уже с проиниализироваными полями обьекта, а BeanFactoryPostProcessor - после загрузки бинов в контейенер
    dzone.com/articles/spring-bean-lifecycle

  • @OEA2
    @OEA2 7 лет назад +7

    У enabled флага volatile не нужен?

    • @niyazkadirov8593
      @niyazkadirov8593 3 года назад

      Здесь не многопоточность

  • @dmitriysaraiev7585
    @dmitriysaraiev7585 4 года назад

    Лекция отличная, но раньше я думал что говорят "поднимусь повыше" скроля вниз только люди 60+

  • @shtormlbt
    @shtormlbt 5 лет назад +38

    на 0,75 нормально смотреть

    • @Tleu13
      @Tleu13 4 года назад

      Смотрю на 2.0

    • @Boyarsskiy
      @Boyarsskiy 4 года назад +3

      ))))) и голос, как-будто 0,75 хряпнул

    • @klaussr
      @klaussr 3 года назад

      Тоже сначала увеличивал, потом вернул обычную

    • @maxgrind28
      @maxgrind28 2 года назад +1

      Да, редкий пример, когда человек не нудит и все говорит по делу. Очень хороший докладчик. Смотрел на 1 с частыми перемотками назад.

  • @1555Sandro
    @1555Sandro 5 лет назад +23

    21 сишарперов дислайкнули

  • @user-dk2xo9hj2m
    @user-dk2xo9hj2m 6 лет назад +1

    59:00 если бин создан через метод в @Configuration то getBeanClassName вернет null же?

    • @isey2851
      @isey2851 6 лет назад +4

      Если речь идёт про метод, аннотированный @Bean и подобные, то насколько я знаю, спринг генерирует имя бина по имени метода.

    • @kirillleonov7405
      @kirillleonov7405 5 лет назад

      вы не нашли ответ почему так происходит?

    • @s1mpleman782
      @s1mpleman782 4 года назад

      Думаю что getBeanClassName и здесь нормально отработает, т.к. в BeanDefinition название класса бина возьмется как имя название возвращаемого объекта

  • @core2mind
    @core2mind 6 лет назад +1

    А как происходит консолидация (объединение) результатов работы методов postProcessAfterInitialization разных BeanPostProcessor'ов?
    Ну то есть...Пусть есть 10 моих кастомных аннотаций, которые меняют логику бина, добавляя к его методам 10 соответствующих функционалов. Делаем 10 BeanPostProcessor'ов (далее BPP). Это нужно делать на стадии AfterInitialization и возвращать в методе postProcessAfterInitialization прокси с добавленным функционалом.
    В каком порядке сработают мои 10 BPP?
    Что после отработки всех 10 BPP будет в контейнере: один прокси объект (объединяет в себе все функционалы) или 10 разных прокси оберток над оригиналом?
    Ну то есть в итоге же я должен получить bean, к оригинальной реализации которого накручено 10 функционалов. Как это получается? Это многослойная прокси обёртка получаетя?

    • @s1mpleman782
      @s1mpleman782 4 года назад +3

      Думаю первый раз создастся прокси над оригинальным классом, а потом будут создавать прокси на предыдущим прокси и так 9 раз. И результирующий прокси будет выполнять весь функционал. В каком порядке будут вызываться BPP это не должно быть важно. Если это важно, т.е. Вам нужно чтобы логика одного BPP срабатывала прежде другого BPP, то тогда нужно пересмотреть эту логику и возvожно объединить в один BPP.

  • @salatiques
    @salatiques 6 лет назад +3

    Сильно не ругайте за вопрос - только начинаю изучать spring. Разве нельзя делать профилирование такого типа через spring AOP?

    • @user-oo9ee7ln1c
      @user-oo9ee7ln1c 6 лет назад +4

      Можно конечно. Но цель доклада немного глубже конкретной задачи профилирования). AOP ведь тоже работает через proxy, а после доклада складывается впечатление, как оно может быть реализовано.

  • @user-qy7yv1ut4c
    @user-qy7yv1ut4c 4 года назад

    чет у меня нет там такого плагина в списке

  • @maxkatrenko8865
    @maxkatrenko8865 5 лет назад +1

    Что нужно знать, чтобы это видео было полезно? Я знаю только Java Core и SQL. Будет какой-то толк? Или посоветуете что-то прочитать?

    • @igorvasylevskyi3629
      @igorvasylevskyi3629 4 года назад +3

      Ето точно не для новичков, ето для тех, кто уже нормально ознакомлен со Spring

    • @maxkatrenko8865
      @maxkatrenko8865 4 года назад

      Igor Vasylevskyi ну вот и я так думаю, а много людей мне советуют эти видео, когда я у них спрашиваю о инфе про спринг

    • @AndreiPushkou
      @AndreiPushkou 2 года назад +1

      @@igorvasylevskyi3629 По мне, так новичку надо смотреть минимум два раза - сразу и после того как поковыряешься в спринге. Первый просмотр просто много чего в голову откладывает, а второй - уже рассортировывает.

  • @innasokolova2136
    @innasokolova2136 10 лет назад

    Дайте линк на картинку, которая в начале лекции. Которая "Спринг в картинках"

    • @Tim86I
      @Tim86I 10 лет назад +2

      vk.com/doc4606_318090168

    • @michaelskidan9719
      @michaelskidan9719 7 лет назад +2

      Этот документ был удалён из общего доступа.

    • @bashtaVital
      @bashtaVital 5 лет назад

      2014.jpoint.ru/presentations/Borisov_spring.pdf

    • @user-lo8ij9pw1h
      @user-lo8ij9pw1h 5 лет назад

      2014.jpoint.ru/presentations/Borisov_spring.pdf

  • @wjblazkowicz
    @wjblazkowicz 8 лет назад +1

    Не совсем то докладчик называет namespace-ами.

  • @user-gn1ke2kr9q
    @user-gn1ke2kr9q 7 лет назад +1

    Кидает налл поинтер. В поле BeanDefinition beanDefinition = factory.getBeanDefinition(name); factory = null
    В чем проблема?

    • @saulgoodman9657
      @saulgoodman9657 7 лет назад

      В мене був NPE через те що я в методі postProcessAfterInitialization(Object bean, String beanName) забув змінити return null на return bean. Можливо вам допоможе)

    • @michaelskidan9719
      @michaelskidan9719 7 лет назад

      +Roman Chmeluk В общем-то упущение в дизайне фреймворка, что он не хэндлит такое. Тем более что IDE при генерации метода по умолчанию вставляют "return null;", и это всем известно.

    • @user-wd8sc4ix2m
      @user-wd8sc4ix2m 7 лет назад +2

      не забыл ?

    • @shandi1241
      @shandi1241 7 лет назад +2

      или AutowiredAnnotationBeanPostProcessor для лучшего усвоения материала )

    • @kirillleonov7405
      @kirillleonov7405 5 лет назад

      вы не нашли ответ почему так происходит?

  • @flatmapper
    @flatmapper 5 лет назад +3

    актуально в 2019?

    • @igorvasylevskyi3629
      @igorvasylevskyi3629 4 года назад

      не очень, хотя старьіх проектов с xml есть много еще

    • @igorvasylevskyi3629
      @igorvasylevskyi3629 4 года назад +1

      ruclips.net/video/nGfeSo52_8A/видео.html с 2:10

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад

      Igor Vasylevskyi
      👍🏼👍🏼👍🏼👍🏼

    • @spirridd
      @spirridd 3 года назад +5

      Всегда актуально, технология же не меняется.

  • @Boyarsskiy
    @Boyarsskiy 6 лет назад +4

    Спринг изучаю не так давно, и все время меня коробило чувство, что за меня кучу работы делает Господь Бог. С одной стороны хорошо, но с другой - я не мог точно знать, как он это делает, а непонимание процесса до конца вызывало дискомфорт. Это все равно что играть в игру не до конца понимая её правила. С этим видео хоть что-то проясняется. Ещё заметил, что многие вещи в Спринге становятся более понятными, когда ты до этого велосипедил их вручную.

    • @Boyarsskiy
      @Boyarsskiy 6 лет назад +3

      Michael Morrison Ели брать только Java SE, то тут не соглашусь, тут чистый кодинг, а вот EE и Spring , то есть где в дело вступают контейнеры, то там поначалу очень много временем уходит на понимание работы этих контейнеров, так как львиную долю работы выполняют именно они. Есть конторы, которые сводят к минимуму использование фреймворков, и пишут свои библиотеки, чтобы иметь более полный контроль над кодовой базой.

    • @Boyarsskiy
      @Boyarsskiy 6 лет назад

      Michael Morrison Я спринг читаю в метро по дороге на работу для общего развития, прямо сплошняком по reference. Хоть и не пользуюсь, а кругозор расширяет ))

    • @user-gk4py1dy5j
      @user-gk4py1dy5j 6 лет назад

      бля, теперь и я тут

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад

      ска теперь и я в вашем ебучем спринговом болоте🤦‍♂️

  • @dashanben
    @dashanben 7 лет назад +17

    Мёд для ушей.

    • @ValentineGoloubev
      @ValentineGoloubev 6 лет назад +3

      сахар для кода

    • @user-gu4cs2hu9f
      @user-gu4cs2hu9f 6 лет назад +3

      творог для костей

    • @DrAkyla1123
      @DrAkyla1123 5 лет назад +5

      Синхронизация для потоков

    • @Narryel
      @Narryel 5 лет назад +7

      Москва для москвичей

    • @WatsOneFTumane
      @WatsOneFTumane 5 лет назад +1

      Скайрим для нордов

  • @GusLapchatiy
    @GusLapchatiy 5 лет назад +1

    На Харламова чем-то похож.

  • @georgetsiklauri
    @georgetsiklauri 4 года назад

    Interesting; however, despite the fact, that I understand Russian well, you're talking way too fast, man.

    • @Nirion_paladin
      @Nirion_paladin 4 года назад +1

      payback speed = 0,5; subtitles enable?)

  • @Datanlivshiz
    @Datanlivshiz 5 лет назад

    Молодцы ребята,очень интересный ролик.
    Кто хочет почитать или просто угареть от еще одной теории о том что на земле лесов нет:
    www.as-gard.com/30-metrovye-kusty

  • @smalex
    @smalex 7 лет назад +6

    Я 10 лет работаю с явой, примерно лет 7 назад удалил spring из все проектов и слава богу. Перешел на Guice. Но на самом деле и Guice особо не нужен. Написал свой маленький Injector. Чем меньше чужого кода в твоих проектах, тем лучше. (Hibernate кстати тоже снес)

    • @dante86521
      @dante86521 7 лет назад

      и как работаете з базой данных?

    • @smalex
      @smalex 7 лет назад +2

      У современных баз данных mongodb, redis, google datastore, cassandra есть своей api, плюс я использую свои утилиты или можно библиотеки написанные другими людьми. В крайнем случае можно jdbc напрямую, через опять же свои обертки. Скорость, простота и предсказуемость решения важнее, чем мнимое удобство hibernate.

    • @glebdanichev9956
      @glebdanichev9956 6 лет назад +14

      Smychagin Alexei вы один над своим проектом работаете, или остальные разработчики выучили ваш инжектор? а как же spring data, mvc, batch...

    • @wayfarer2178
      @wayfarer2178 6 лет назад +43

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

    • @Jeff.Wilson
      @Jeff.Wilson 6 лет назад +7

      Предсказуемость реализации и собственный велосипед когда уже есть масса стандартных - это взаимоисключающие параграфы.

  • @tr233
    @tr233 6 лет назад +3

    Мда спринг очень гибок, даже слишком гибок, я лично предпочитаю больше EJB3.2 и очень стандартизированную архитектуру, блин зачем Оракл отдал JEE в Eclipse, ведь так всё было хорошо и стабильно, теперь клиенты всех хотят Спринг, теперь стринг надо всем джавистам учить.

    • @danyils8728
      @danyils8728 6 лет назад

      че серьезно?) реально возникла проблема с тем что кастомеры говорят "не хотим ЖЕЕ"?)

    • @tr233
      @tr233 6 лет назад

      Ну да иначе я бы этом здесь не писал