Java Spring Контекст

Ни одна современная разработка не проходит без применения какого-либо фреймворка и если идет речь про 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

Пікірлер: 93

  • @user-cc9wf1fn2z
    @user-cc9wf1fn2z Жыл бұрын

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

  • @abdumaliksobirov2129
    @abdumaliksobirov2129 Жыл бұрын

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

  • @qpuhuk1
    @qpuhuk12 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

    Сделаем😉

  • @MCiiiiiiiiii
    @MCiiiiiiiiii Жыл бұрын

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

  • @Yuvvan
    @Yuvvan Жыл бұрын

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

  • @timgapps9878
    @timgapps98784 ай бұрын

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

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i3 ай бұрын

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

  • @user-jk9yz7gi1h
    @user-jk9yz7gi1h2 ай бұрын

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

  • @user-lx4dc1ls3e
    @user-lx4dc1ls3e10 ай бұрын

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

  • @kirillnovikov7925
    @kirillnovikov79259 ай бұрын

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

  • @enjoyit8499
    @enjoyit8499 Жыл бұрын

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

  • @user-or2fz9ic9s
    @user-or2fz9ic9s Жыл бұрын

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

  • @user-bs1ck6sc3s
    @user-bs1ck6sc3s Жыл бұрын

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

  • @MArtY07520
    @MArtY075202 жыл бұрын

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

  • @user-xt8mq7bo4m
    @user-xt8mq7bo4m Жыл бұрын

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

  • @John_Smith_Java
    @John_Smith_Java Жыл бұрын

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

  • @ilyazvorygin7284
    @ilyazvorygin72842 жыл бұрын

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

  • @A_Rakh
    @A_Rakh Жыл бұрын

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

  • @Andrew-ju7og
    @Andrew-ju7og2 жыл бұрын

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

  • @raccoon8230
    @raccoon8230 Жыл бұрын

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

  • @memeslord7622
    @memeslord76222 жыл бұрын

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

  • @user-qo2ef4jg8z

    @user-qo2ef4jg8z

    Жыл бұрын

    Согласен, коллега

  • @anjelomanoranjan3908
    @anjelomanoranjan39089 ай бұрын

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

  • @relaxy3387
    @relaxy33872 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @zagar_on1
    @zagar_on12 ай бұрын

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

  • @zagboris
    @zagboris2 жыл бұрын

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

  • @ildarjava7979
    @ildarjava79796 ай бұрын

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

  • @user-dx9yq5js2c
    @user-dx9yq5js2c2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @user-sj2np1rc4u
    @user-sj2np1rc4u2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @luckytima2315
    @luckytima23152 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @jollyroger2757

    @jollyroger2757

    2 жыл бұрын

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

  • @user-dx9sw2kt5f
    @user-dx9sw2kt5f2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @andr74b11

    @andr74b11

    2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @vladyslavaxelrod7224
    @vladyslavaxelrod7224 Жыл бұрын

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

  • @user-wy2eq1xu2w
    @user-wy2eq1xu2w Жыл бұрын

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

  • @Das.Kleine.Krokodil

    @Das.Kleine.Krokodil

    Жыл бұрын

    Сюда надо конспекты кидать с таймингамм

  • @user-wy2eq1xu2w

    @user-wy2eq1xu2w

    Жыл бұрын

    @@Das.Kleine.Krokodil хорошая идея кстати!))

  • @munirhasanov1625
    @munirhasanov1625 Жыл бұрын

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

  • @netroute4660
    @netroute4660 Жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    Жыл бұрын

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

  • @netroute4660

    @netroute4660

    Жыл бұрын

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

  • @maksymdobrynin

    @maksymdobrynin

    Жыл бұрын

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

  • @netroute4660

    @netroute4660

    Жыл бұрын

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

  • @maksimkurozhko8899
    @maksimkurozhko88992 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

    Макс, привет :) Большое спасибо за отзыв. По ссылке ниже наш скромный плейлист по спрингу. kzread.info/head/PLxqzxxW1gWwIuSgG8od6N4LZg5V4kKp72 К слову, на этой неделе будет новый видос.

  • @wdmg
    @wdmg Жыл бұрын

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

  • @arahnid_9844
    @arahnid_9844 Жыл бұрын

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

  • @ilyaglaz7632
    @ilyaglaz76322 ай бұрын

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

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Жыл бұрын

    Спасибо

  • @MCiiiiiiiiii
    @MCiiiiiiiiii Жыл бұрын

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

  • @TheJabberwahh
    @TheJabberwahh2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @user-yf2er5vr8q
    @user-yf2er5vr8q5 ай бұрын

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

  • @Shadirtuoso
    @Shadirtuoso2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @Shadirtuoso

    @Shadirtuoso

    2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @wdmg

    @wdmg

    Жыл бұрын

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

  • @isildurgir
    @isildurgir Жыл бұрын

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

  • @vlera4198
    @vlera4198 Жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    Жыл бұрын

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

  • @AS-nu7ez
    @AS-nu7ez2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @AS-nu7ez

    @AS-nu7ez

    2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @AS-nu7ez

    @AS-nu7ez

    2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @AnotherCogInTheMurderMachine
    @AnotherCogInTheMurderMachine Жыл бұрын

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

  • @nonamenonametansh337
    @nonamenonametansh337 Жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    Жыл бұрын

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

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    Жыл бұрын

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

  • @Das.Kleine.Krokodil

    @Das.Kleine.Krokodil

    Жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    Жыл бұрын

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

  • @Das.Kleine.Krokodil

    @Das.Kleine.Krokodil

    Жыл бұрын

    @@Jetbulb спасибо

  • @vadimpiven834
    @vadimpiven8342 жыл бұрын

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

  • @d1nque781
    @d1nque7819 ай бұрын

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

  • @user-fj7on8le9g
    @user-fj7on8le9g2 жыл бұрын

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

  • @Jetbulb

    @Jetbulb

    2 жыл бұрын

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

  • @ChitavaA
    @ChitavaA Жыл бұрын

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

  • @yevheniiklymenko99
    @yevheniiklymenko992 ай бұрын

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

  • @millfreedom
    @millfreedom Жыл бұрын

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

  • @user-td5bw9rt2g

    @user-td5bw9rt2g

    Жыл бұрын

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

  • @millfreedom

    @millfreedom

    Жыл бұрын

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

  • @user-td5bw9rt2g

    @user-td5bw9rt2g

    Жыл бұрын

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

  • @millfreedom

    @millfreedom

    Жыл бұрын

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

Келесі