Java Spring Контекст

Поділитися
Вставка
  • Опубліковано 28 вер 2024
  • Ни одна современная разработка не проходит без применения какого-либо фреймворка и если идет речь про Java, то без сомнения самым популярным является Spring Framework.
    Но как оно работает? С чего все начинается? Что надо знать в первую очередь?
    Все это и не только в серии вебинаров "Java Spring для начинающих".
    Речь пойдет о фундаментальной идеи воплощенной в Spring Framework - Инверсия управления (Inversion of control) и ее воплощение в виде Spring Container.
    Container позволяет разрабатывать приложения различных масштабов через простое конфигурирование простых объектов, которые будут самостоятельно собраны в единую систему.
    Мы разберем:
    - Принцип Inversion of control
    - Spring Container или просто контекст
    - Конфигурация и создание
    Наш сайт: jetbulb.com/
    Мы в социальных сетях:
    t.me/jetbulb
    / jetbulb
    / jetbulb.it

КОМЕНТАРІ • 95

  • @timgapps9878
    @timgapps9878 9 місяців тому +2

    Отлично! Никогда, повторяю, никогда не видел, чтобы так просто и доходчиво кто-то объяснил сложные для понимания вещи, особенно для новичков. Речь, интонация, скорость - всё на высшем уровне. У тебя огромный талант. Прошу, пожалуйста, продолжай в том же духе публиковать уроки на тему разработки приложений на Spring framework! Спасибо

  • @АлександрБуров-н3р

    Классная подача, объяснение, одно удовольствие такие уроки слушать и самое главное - приходит понимание! Спасибо!

  • @МаксимСамойлов-р6ф

    Это пожалуй - лучшее объяснение Ioc и spring container! Спасибо Макс👍👍👍

  • @goodvideobro
    @goodvideobro 8 місяців тому +1

    как много полезной инфы в одном видео, и такая шикарная подача

  • @abdulloh7374
    @abdulloh7374 2 роки тому +6

    Один из лучших людей которые могут объяснять так доходчиво!
    Очень ценю доходчивую речь!

  • @мы1-з5ъ
    @мы1-з5ъ 6 місяців тому +1

    очень доступно объяснено!) очень хорошо обговорены определения и вся последовательность взаимодействия в системе

  • @enjoyit8499
    @enjoyit8499 Рік тому +1

    Огромный труд на самом деле. Красавчик, спасибо!

  • @АлександрНиколаевич-с3ж

    Просмотрел) что-то законспектировал, ставя на паузу))) Спасибо! все хорошо понятно)

  • @ВиталийБабич-д1м

    Коротко и ясно! Отличное объяснение)

  • @MCiiiiiiiiii
    @MCiiiiiiiiii Рік тому +2

    Еще раз хочу поблагодарить за такую подачу темы Spring

  • @maksimkurozhko8899
    @maksimkurozhko8899 2 роки тому +1

    Спасибо! Мне очень нравится форма подачи материала.
    Можно еще добавить после , что есть вариант c + аннотации

    • @Jetbulb
      @Jetbulb  2 роки тому +1

      Макс, привет :)
      Большое спасибо за отзыв.
      По ссылке ниже наш скромный плейлист по спрингу.
      ua-cam.com/play/PLxqzxxW1gWwIuSgG8od6N4LZg5V4kKp72.html
      К слову, на этой неделе будет новый видос.

  • @ilyazvorygin7284
    @ilyazvorygin7284 3 роки тому +1

    Отличное видео! теперь понимания прибавилось! Спасибо!!!

  • @wdmg
    @wdmg Рік тому +5

    Лучше не употреблять слова типа «классик». Новичков в Java это сбивает с толку.
    То ли это какой-то термин на английском языке «classic», то ли что-то другое.
    Мне сразу стало понятно, что это уменьшительно-ласкательное слова “Class”.
    А за хороший ролик спасибо.

  • @dimkafnn
    @dimkafnn 3 роки тому +2

    Спасибо за ваш труд!

    • @Jetbulb
      @Jetbulb  3 роки тому

      Спасибо за поддержку!😊

  • @Yuvvan
    @Yuvvan 2 роки тому +2

    Ооо!!! Какой прекрасный урок!))) Обязательно посмотрю другие Ваши уроки!) СПАСИБО!

  • @MArtY07520
    @MArtY07520 3 роки тому +1

    Очень полезно для начинающего, спасибо!

  • @ilyaglaz7632
    @ilyaglaz7632 7 місяців тому +1

    Хорошее объяснение. Было бы круто, если бы давал ссылку на код с занятия.

  • @Andrew-ju7og
    @Andrew-ju7og 3 роки тому +1

    хороший разбор! спасибо

  • @luckytima2315
    @luckytima2315 3 роки тому +1

    Отличное видео, буду ждать других туториалов по Spring ))

    • @Jetbulb
      @Jetbulb  3 роки тому

      Скоро будет ещё порция)

    • @jollyroger2757
      @jollyroger2757 2 роки тому

      @@Jetbulb 3 недели прошло😀

    • @ConfidenceGold
      @ConfidenceGold 4 місяці тому

      Два года прошло😂​@@jollyroger2757

  • @zagboris
    @zagboris 3 роки тому +1

    Круто, спасибо!

  • @isildurgir
    @isildurgir 2 роки тому +1

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

  • @Shadirtuoso
    @Shadirtuoso 3 роки тому +5

    Кто будет в наушниках смотреть - аккуратнее. Местами по ушам бьёт ахово. На суть не влияет, там всё доходчиво, а вот на комфорт...

    • @Jetbulb
      @Jetbulb  3 роки тому +4

      Спасибо за отзыв.
      Мы уже работаем над тем, как улучшить качество трансляций, для сбережения ушек и глазок 🙂

    • @Shadirtuoso
      @Shadirtuoso 3 роки тому +1

      @@Jetbulb это круто! Подача интересная. Единственное что по содержанию хотелось бы отметить, что DI и IoC не только ведь для уменьшения кода используются и дают создание зависимостей на откуп. На сколько я понимаю суть этой всей темы сделана для того, чтобы было проще оперировать зависимостями: есть интерфейс, условно, для чтения данных. И есть его реализации: а) для чтения с компа ; б) для чтения с облака. И суть DI и IoC для того и нужна, чтобы проще было в случае чего сменить реализацию с а) на б). Так как по сути мы заменим только реализацию интерфейса, а спринг сам создаст все нужные бины и тд.

    • @Jetbulb
      @Jetbulb  3 роки тому +2

      Конечно, это не только про уменьшее кода в нашем приложении.
      Главная идея, отдать часть своей ответственности за процессы (конфигурирование, создание и последующие встраивание объектов) на фреймворк.
      Разумеется, это дает нам свободу при замене реализаций, поскольку если мы будем следовать ООП принципам, то мы легко сможем к уровне конфигурации выбирать нужную реализацию компонента, к примеру в таких средах: разработка, тестирование, продакшн.
      Очень немаловажный момент, что мы высвобождаемся от глубоких знаний информационной системы и как она работает. Наши компоненты становятся независимым и ориентированными только на свою конкретную задачу.
      Но главное, что мы просто описываем наши компоненты, показываем места где их нужно встраивать, а все остальное (конфигурирование, создание и последующие встраивание объектов) делает уже фреймворк. Собственно, это и есть "Инверсия управлени" или по другому можно назвать "Передача контроля", словно директор и его заместитель, который отвечает за что-то конкретное и результат выносит на использование директором.
      Ну собственно, Spring IoC Container отлично это реализует и применяет на практике.

    • @wdmg
      @wdmg Рік тому

      Да. На отметке 29:55 сделайте тише. Там будет плохой звук на 10 секунд.
      Потом будет ещё один момент, но будет тише, чем в первом моменте.
      А так всё хорошо.

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Рік тому +1

    Спасибо

  • @vlera4198
    @vlera4198 2 роки тому +1

    А inversion of Control это случайно не тоже что dependency inversion (не injection) ? т.е. в том смыcле что этот контейнер реализует принцип DI а не в том что мы отдаем контроль за созданием и внедрением зависомстей. Откуда информация что это именно так? Если бы это было про создание и внедрение заивсимостей то логичнее было бы назвать его dependency injection container

    • @Jetbulb
      @Jetbulb  2 роки тому

      Стоит начать с того, что IoC - это принцип, а DI - его реализация.
      Инверсий управления много, к примеру «фабрика».
      Spring IoC-container - это название «спринговое» о чем можно почитать в их официальной документации и по сути является частной формой DI.
      Твои мысли от нелогичности названия и того, что по факту происходит справедливы, поскольку процесс выходит за пределы простого управления внедрением.
      Но «имеем, что имеем» 😅

  • @AS-nu7ez
    @AS-nu7ez 3 роки тому +3

    Будут курсы для мидлов?
    Разбор SpringSecurity?
    OAUTH2.0?
    Кэширование и т.д.?

    • @Jetbulb
      @Jetbulb  3 роки тому +1

      Круто :) Спасибо, за такой классный вопрос.
      Да, все будет и мы уже работает над программой по Spring Framework и его частным случаям.
      Но все постепенно, мы пока ограничены в ресурсах.
      Наша цель - предоставлять как минимум 1 раз в неделю интересный контент для помощи в самообучении.

    • @AS-nu7ez
      @AS-nu7ez 3 роки тому +1

      @@Jetbulb спасибо что ответили. Извините за такой может быть некорректный вопрос. А мы это кто?
      Вы школа или группа энтузиастов, и также планируете ли делать курсы полноценные до какого уровня?
      Заранее спасибо за ответ

    • @Jetbulb
      @Jetbulb  3 роки тому +2

      @@AS-nu7ez Мы - небольшая команда из разных уголков мира, которая трудится на тем, чтобы начинающие специалисты в IT смогли быстрее и комфортнее устроиться на позицию своей мечты 😃 Под эту задачу и делаем бесплатный контент)

    • @AS-nu7ez
      @AS-nu7ez 3 роки тому

      @@Jetbulb понял, здорово. А можно как-то в ваш проект влиться и также помогать?

    • @Jetbulb
      @Jetbulb  3 роки тому

      @A S, спасибо за желание помогать. Это же помощь не только нам, но и ребятам которые смотрят канал, ищут информацию. Отметку сделали, как только понадобится помощь, сразу свяжемся.

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Рік тому +1

    А в каком случае нужно создавать, а когда можно через new? Например для RestTemplate

    • @Jetbulb
      @Jetbulb  Рік тому +1

      Хм… вопрос не очень понятен.
      Можешь плз уточнить?

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Рік тому +1

      @@Jetbulb Допустим у меня есть спринг-проект. Есть стандартные компоненты с аннотациями Component, Servise и т.д. Но также есть другие мои объекты и объекты библиотечные, например RestTemplate. Эти объекты нужно также внедрять как компоненты используя аннотации Component и Bean или же просто создавать через new? Чем здесь стоит руководствоваться при принятии решения? Может быть есть книги хорошие на эту тему?

    • @Jetbulb
      @Jetbulb  Рік тому +1

      @@Das.Kleine.Krokodil
      Если мы говорит про IoC и DI, то создавать руками ничего не надо.
      За нас это выполняет Спринг.
      Если же речь идет о создании Бинов (компонент) из сторонних сервисов или где мы просто не может сами повесить аннотацию, то тут можно применить создание компоненты руками (через оператор new) и применять к нему аннотацию Bean. Во всех остальных случаях, создавать явно нет необходимости

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Рік тому

      @@Jetbulb спасибо

  • @nonamenonametansh337
    @nonamenonametansh337 Рік тому +1

    Какой у вас шрифт в idea?

    • @Jetbulb
      @Jetbulb  Рік тому +1

      Так было давно, что уже не упомнишь.
      Наверное 14-16

  • @AnotherCogInTheMurderMachine

    Определение SpringCore 1:02:24

  • @d1nque781
    @d1nque781 Рік тому

    ctrl на клавиатуре, а это control

  • @ChitavaA
    @ChitavaA 2 роки тому

    По канализации вода не подается, если бы подавали, все бы сдохли от дизентерии. Канализация выводит продукты жизнедеятельности, а вода подается по водопроводу

  • @millfreedom
    @millfreedom 2 роки тому

    Полезные знания про DI, но абсолютно невыразительные примеры.
    Раз уж промелькнула аннотация @ComponentScan, то почему бы не аннотировать конкретные классы @Component и не избежать использования ручного создания бинов для более выразительного примера?
    Создание бинов имеет смысл лишь при использовании «внешних» классов, либо когда требуется особая конфигурация перед использованием, а в указанном случае достаточно было аннотации @Component

    • @АндрейСидоров-ц3ж
      @АндрейСидоров-ц3ж Рік тому

      Следует также добавить, что автор утверждает, что DI является реализацией IoC, ну вообще то наоборот))) А так довольно таки полезное видео.

    • @millfreedom
      @millfreedom Рік тому +1

      @@АндрейСидоров-ц3ж вообще-то, нет.
      IoC - это принцип, а DI(Dependency Injection) - паттерн, то-есть более конкретная имплементация принципа IoC. В этом вопросе автор не ошибся.
      Возможно, вы путаете DI с DIP, который тоже является принципом.

    • @АндрейСидоров-ц3ж
      @АндрейСидоров-ц3ж Рік тому

      @@millfreedom странно с других видео, с которіми я более согласен. DI - не жёсткое наследование, то есть использование уже существующего функционала. Использование существующего функционала может быть реализованно ручками, путём создание обьектов, или же автоматически (по сути IoC). Я чего так считал.

    • @millfreedom
      @millfreedom Рік тому

      @@АндрейСидоров-ц3ж я нічого не зрозумів з вашого останнього повідомлення, проте на ваш захист скажу, що IoC/DIP, а також їх імплементація DI доволі розмиті поняття і ходить багато суперечок про їх межі 😅

  • @qpuhuk1
    @qpuhuk1 3 роки тому +14

    Супер, такого бы разжевывания по Spring и Hibernate еще! Молодцы

    • @Jetbulb
      @Jetbulb  3 роки тому +2

      Сделаем😉

  • @A_Rakh
    @A_Rakh 2 роки тому +4

    Спасибо Вам, Максим за данный ролик. До просмотра была некая каша в голове по поводу Spring. Чувствуется скилл в речи, слушать приятно

  • @John_Smith_Java
    @John_Smith_Java Рік тому +2

    Ну блин, я всё это знаю. Непонятно, что нового я рассчитывал тут услышать😊 Пора мне самому такие видосы писать)
    Но лайк поставил😉

  • @memeslord7622
    @memeslord7622 2 роки тому +6

    Великолепный ролик! Спасибо, ставлю лайк

  • @ДенисНикифоров-о5и
    @ДенисНикифоров-о5и 3 роки тому +6

    Парень ты крут, все как нужно по полочкам, спасибо большое
    запиши еще видео по спрингу
    mvc или SD JDBC а может их оба в 1 уроке
    заранее спасибо

    • @Jetbulb
      @Jetbulb  3 роки тому +1

      Спасибо!) Обязательно сделаем в ближайшее время)

    • @andr74b11
      @andr74b11 2 роки тому +2

      @@Jetbulb так и не сделали?(

    • @Jetbulb
      @Jetbulb  2 роки тому

      @@andr74b11 По спрингу есть видео, но пока не все темы расскрыты.
      Времени не хватает :(

  • @arahnid_9844
    @arahnid_9844 2 роки тому +1

    спасибо, хорошее обьяснение 👍. Скоро на собес, а спринг один раз только использовал, и то на тестовом для этого ж собеса, где не до разборов было - лишь бы программа работала) До этого даже не вникал что это такое и с чем едят

  • @ОлегГрабарь-б1н
    @ОлегГрабарь-б1н 3 роки тому +2

    Надо что ли комментарий оставить) спасибо за видео, будет круто, если вы продолжите выпускать ещё!

    • @Jetbulb
      @Jetbulb  3 роки тому +1

      Спасибо большое за поддержку! 😊
      Будем стараться)

  • @vadimpiven834
    @vadimpiven834 3 роки тому +1

    Это не в укор, но иногда у меня возникает ощущение, что мне пытаются втюхать товар, ну прям без которого жить не возможно

  • @yevheniiklymenko99
    @yevheniiklymenko99 7 місяців тому

    ни о чем, жаль потраченного времени

  • @munirhasanov1625
    @munirhasanov1625 2 роки тому +1

    Лучший, спасибо, мб запишусь на собес технический к тебе

  • @ПавелАнтипович
    @ПавелАнтипович 17 днів тому

    Господи храни джунов!🥺

  • @zagar_on1
    @zagar_on1 7 місяців тому +1

    Макс крут!!!!!!!!!!!!!!!!до сих пор актуально))

  • @ровойт
    @ровойт 9 місяців тому +1

    капец просто супер

  • @vladyslavaxelrod7224
    @vladyslavaxelrod7224 Рік тому +1

    Очень крутой урок

  • @raccoon8230
    @raccoon8230 Рік тому +1

    Великолепная подача 🔥

  • @ildarjava7979
    @ildarjava7979 11 місяців тому

    Xml то по сути просто все эти зависимости перенес в файл(текстовый) вместо new теперь используем теги(html). В коде чисто согласен, но под капотом трешь, особенно если у тебя редактор нет от jetbrains и не подсказывает зависимости. Spring boot вот это уже чистота кода, и думаешь только о бизнес логике, а не вот об этом "всем". Теперь можно сказать программист, а раньше xml-конфигуратор))) имхо. Молодец подача материала на высшем уровне

  • @netroute46
    @netroute46 2 роки тому +1

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

    • @Jetbulb
      @Jetbulb  2 роки тому +1

      Спасибо за отзыв))
      На подходе еще будут видео про спринг в нашем плейлисте.

    • @netroute46
      @netroute46 2 роки тому

      @@Jetbulb у вас очень полезные и информативные видео.

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому

      Спасибо большое)
      Хотя нам кажется, что мы иногда очень сильно недорабатываем.

    • @netroute46
      @netroute46 2 роки тому

      @@maksymdobrynin нет предела совершенству, но ваша подача очень нравится. пересмотрел почти все собеседования. думаю это очень поможет в будущем. а по спрингу это конечно самые основы, но лучше и понятнее этого я ничего не видел. у Алишева может только что то подобное, но у него курс.

  • @АлександрШ-й5ж
    @АлександрШ-й5ж 2 роки тому +1

    Максим, здоровско объясняете. Спасибо!

    • @Jetbulb
      @Jetbulb  2 роки тому

      Вам спасибо, что смотрите нас)

  • @ИльяШапорто
    @ИльяШапорто 3 роки тому +1

    можно по спринг секьюрете)

    • @Jetbulb
      @Jetbulb  3 роки тому +1

      Можно и нужно :)
      Всему свое время. Будет!

  • @TheJabberwahh
    @TheJabberwahh 3 роки тому +1

    Ещё! Давай ещё1!! :)

    • @Jetbulb
      @Jetbulb  3 роки тому +2

      Да, мы уже готовим серию по Spring))

  • @anjelomanoranjan
    @anjelomanoranjan Рік тому

    Спасибо тебе Макс! Отличное видео

  • @ИгорьВашкевич-з4у
    @ИгорьВашкевич-з4у 2 роки тому

    Лекция супер! Большое вам спасибо!

  • @ИванВолков-м5г
    @ИванВолков-м5г Рік тому +4

    Подача супер! Очень хорошо разжеванно! Появилось понимание куда копать! Благодарю автора за вебинар!

  • @kirillnovikov7925
    @kirillnovikov7925 Рік тому +2

    Огромное спасибо!!! Это лучшее, что я в целом смог найти для понимания DI и IoC. Все лекции и статьи, которые изучал до этого, кажется, опирались на тех, кто типа сразу понял, что это такое.

  • @MCiiiiiiiiii
    @MCiiiiiiiiii Рік тому +3

    Наконец то. Единственное видео про спринг где все понятно. Снимаю шляпу. Спасибо.