Java Spring Контекст

  Рет қаралды 43,867

Jetbulb

Jetbulb

3 жыл бұрын

Ни одна современная разработка не проходит без применения какого-либо фреймворка и если идет речь про 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 Жыл бұрын
Один из лучших людей которые могут объяснять так доходчиво! Очень ценю доходчивую речь!
@user-jk9yz7gi1h
@user-jk9yz7gi1h 2 ай бұрын
очень доступно объяснено!) очень хорошо обговорены определения и вся последовательность взаимодействия в системе
@MCiiiiiiiiii
@MCiiiiiiiiii Жыл бұрын
Наконец то. Единственное видео про спринг где все понятно. Снимаю шляпу. Спасибо.
@qpuhuk1
@qpuhuk1 2 жыл бұрын
Супер, такого бы разжевывания по Spring и Hibernate еще! Молодцы
@Jetbulb
@Jetbulb 2 жыл бұрын
Сделаем😉
@John_Smith_Java
@John_Smith_Java Жыл бұрын
Ну блин, я всё это знаю. Непонятно, что нового я рассчитывал тут услышать😊 Пора мне самому такие видосы писать) Но лайк поставил😉
@user-ib7vx3yc4i
@user-ib7vx3yc4i 4 ай бұрын
как много полезной инфы в одном видео, и такая шикарная подача
@user-lx4dc1ls3e
@user-lx4dc1ls3e 11 ай бұрын
Это пожалуй - лучшее объяснение Ioc и spring container! Спасибо Макс👍👍👍
@kirillnovikov7925
@kirillnovikov7925 10 ай бұрын
Огромное спасибо!!! Это лучшее, что я в целом смог найти для понимания DI и IoC. Все лекции и статьи, которые изучал до этого, кажется, опирались на тех, кто типа сразу понял, что это такое.
@user-or2fz9ic9s
@user-or2fz9ic9s Жыл бұрын
Подача супер! Очень хорошо разжеванно! Появилось понимание куда копать! Благодарю автора за вебинар!
@memeslord7622
@memeslord7622 2 жыл бұрын
Великолепный ролик! Спасибо, ставлю лайк
@user-qo2ef4jg8z
@user-qo2ef4jg8z Жыл бұрын
Согласен, коллега
@zagar_on1
@zagar_on1 3 ай бұрын
Макс крут!!!!!!!!!!!!!!!!до сих пор актуально))
@timgapps9878
@timgapps9878 5 ай бұрын
Отлично! Никогда, повторяю, никогда не видел, чтобы так просто и доходчиво кто-то объяснил сложные для понимания вещи, особенно для новичков. Речь, интонация, скорость - всё на высшем уровне. У тебя огромный талант. Прошу, пожалуйста, продолжай в том же духе публиковать уроки на тему разработки приложений на Spring framework! Спасибо
@user-wy2eq1xu2w
@user-wy2eq1xu2w Жыл бұрын
Просмотрел) что-то законспектировал, ставя на паузу))) Спасибо! все хорошо понятно)
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
Сюда надо конспекты кидать с таймингамм
@user-wy2eq1xu2w
@user-wy2eq1xu2w Жыл бұрын
@@Das.Kleine.Krokodil хорошая идея кстати!))
@Yuvvan
@Yuvvan Жыл бұрын
Ооо!!! Какой прекрасный урок!))) Обязательно посмотрю другие Ваши уроки!) СПАСИБО!
@enjoyit8499
@enjoyit8499 Жыл бұрын
Огромный труд на самом деле. Красавчик, спасибо!
@MArtY07520
@MArtY07520 3 жыл бұрын
Очень полезно для начинающего, спасибо!
@A_Rakh
@A_Rakh Жыл бұрын
Спасибо Вам, Максим за данный ролик. До просмотра была некая каша в голове по поводу Spring. Чувствуется скилл в речи, слушать приятно
@user-bs1ck6sc3s
@user-bs1ck6sc3s Жыл бұрын
Лекция супер! Большое вам спасибо!
@ilyazvorygin7284
@ilyazvorygin7284 2 жыл бұрын
Отличное видео! теперь понимания прибавилось! Спасибо!!!
@MCiiiiiiiiii
@MCiiiiiiiiii Жыл бұрын
Еще раз хочу поблагодарить за такую подачу темы Spring
@user-xt8mq7bo4m
@user-xt8mq7bo4m Жыл бұрын
Коротко и ясно! Отличное объяснение)
@ilyaglaz7632
@ilyaglaz7632 2 ай бұрын
Хорошее объяснение. Было бы круто, если бы давал ссылку на код с занятия.
@user-sj2np1rc4u
@user-sj2np1rc4u 3 жыл бұрын
Надо что ли комментарий оставить) спасибо за видео, будет круто, если вы продолжите выпускать ещё!
@Jetbulb
@Jetbulb 3 жыл бұрын
Спасибо большое за поддержку! 😊 Будем стараться)
@raccoon8230
@raccoon8230 Жыл бұрын
Великолепная подача 🔥
@Andrew-ju7og
@Andrew-ju7og 3 жыл бұрын
хороший разбор! спасибо
@relaxy3387
@relaxy3387 3 жыл бұрын
Спасибо за ваш труд!
@Jetbulb
@Jetbulb 3 жыл бұрын
Спасибо за поддержку!😊
@user-dx9yq5js2c
@user-dx9yq5js2c 2 жыл бұрын
Максим, здоровско объясняете. Спасибо!
@Jetbulb
@Jetbulb 2 жыл бұрын
Вам спасибо, что смотрите нас)
@user-dx9sw2kt5f
@user-dx9sw2kt5f 3 жыл бұрын
Парень ты крут, все как нужно по полочкам, спасибо большое запиши еще видео по спрингу mvc или SD JDBC а может их оба в 1 уроке заранее спасибо
@Jetbulb
@Jetbulb 3 жыл бұрын
Спасибо!) Обязательно сделаем в ближайшее время)
@andr74b11
@andr74b11 2 жыл бұрын
@@Jetbulb так и не сделали?(
@Jetbulb
@Jetbulb 2 жыл бұрын
@@andr74b11 По спрингу есть видео, но пока не все темы расскрыты. Времени не хватает :(
@wdmg
@wdmg Жыл бұрын
Лучше не употреблять слова типа «классик». Новичков в Java это сбивает с толку. То ли это какой-то термин на английском языке «classic», то ли что-то другое. Мне сразу стало понятно, что это уменьшительно-ласкательное слова “Class”. А за хороший ролик спасибо.
@munirhasanov1625
@munirhasanov1625 Жыл бұрын
Лучший, спасибо, мб запишусь на собес технический к тебе
@netroute4660
@netroute4660 2 жыл бұрын
это лучшее что я видел по спрингу. начинал смотреть очень много, в том числе курсов и разных видео и книга по спрингу. нигде толком базово, на простых вещах не объясняется суть, везде предлагают как мартышке что то повторять без всякого понимания, как это работает, везде нарушается принцип от простого к сложному, сразу на тебя вываливают тонну непонятной ерунды.
@Jetbulb
@Jetbulb 2 жыл бұрын
Спасибо за отзыв)) На подходе еще будут видео про спринг в нашем плейлисте.
@netroute4660
@netroute4660 2 жыл бұрын
@@Jetbulb у вас очень полезные и информативные видео.
@maksymdobrynin
@maksymdobrynin Жыл бұрын
Спасибо большое) Хотя нам кажется, что мы иногда очень сильно недорабатываем.
@netroute4660
@netroute4660 Жыл бұрын
@@maksymdobrynin нет предела совершенству, но ваша подача очень нравится. пересмотрел почти все собеседования. думаю это очень поможет в будущем. а по спрингу это конечно самые основы, но лучше и понятнее этого я ничего не видел. у Алишева может только что то подобное, но у него курс.
@zagboris
@zagboris 2 жыл бұрын
Круто, спасибо!
@anjelomanoranjan3908
@anjelomanoranjan3908 10 ай бұрын
Спасибо тебе Макс! Отличное видео
@arahnid_9844
@arahnid_9844 Жыл бұрын
спасибо, хорошее обьяснение 👍. Скоро на собес, а спринг один раз только использовал, и то на тестовом для этого ж собеса, где не до разборов было - лишь бы программа работала) До этого даже не вникал что это такое и с чем едят
@luckytima2315
@luckytima2315 2 жыл бұрын
Отличное видео, буду ждать других туториалов по Spring ))
@Jetbulb
@Jetbulb 2 жыл бұрын
Скоро будет ещё порция)
@jollyroger2757
@jollyroger2757 2 жыл бұрын
@@Jetbulb 3 недели прошло😀
@ildarjava7979
@ildarjava7979 7 ай бұрын
Xml то по сути просто все эти зависимости перенес в файл(текстовый) вместо new теперь используем теги(html). В коде чисто согласен, но под капотом трешь, особенно если у тебя редактор нет от jetbrains и не подсказывает зависимости. Spring boot вот это уже чистота кода, и думаешь только о бизнес логике, а не вот об этом "всем". Теперь можно сказать программист, а раньше xml-конфигуратор))) имхо. Молодец подача материала на высшем уровне
@vladyslavaxelrod7224
@vladyslavaxelrod7224 Жыл бұрын
Очень крутой урок
@maksimkurozhko8899
@maksimkurozhko8899 2 жыл бұрын
Спасибо! Мне очень нравится форма подачи материала. Можно еще добавить после , что есть вариант c + аннотации
@Jetbulb
@Jetbulb 2 жыл бұрын
Макс, привет :) Большое спасибо за отзыв. По ссылке ниже наш скромный плейлист по спрингу. kzfaq.info/sun/PLxqzxxW1gWwIuSgG8od6N4LZg5V4kKp72 К слову, на этой неделе будет новый видос.
@user-yf2er5vr8q
@user-yf2er5vr8q 5 ай бұрын
капец просто супер
@TheJabberwahh
@TheJabberwahh 2 жыл бұрын
Ещё! Давай ещё1!! :)
@Jetbulb
@Jetbulb 2 жыл бұрын
Да, мы уже готовим серию по Spring))
@isildurgir
@isildurgir 2 жыл бұрын
да, но нам при этом приходиться очень много делать настроек. Например если на внедрение в контейнер соответствует несколько классов, то возникает колизия и нежно опять таки в ручную это все конфигурировать, но правда на уровне настроек
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
Спасибо
@Shadirtuoso
@Shadirtuoso 3 жыл бұрын
Кто будет в наушниках смотреть - аккуратнее. Местами по ушам бьёт ахово. На суть не влияет, там всё доходчиво, а вот на комфорт...
@Jetbulb
@Jetbulb 3 жыл бұрын
Спасибо за отзыв. Мы уже работаем над тем, как улучшить качество трансляций, для сбережения ушек и глазок 🙂
@Shadirtuoso
@Shadirtuoso 3 жыл бұрын
@@Jetbulb это круто! Подача интересная. Единственное что по содержанию хотелось бы отметить, что DI и IoC не только ведь для уменьшения кода используются и дают создание зависимостей на откуп. На сколько я понимаю суть этой всей темы сделана для того, чтобы было проще оперировать зависимостями: есть интерфейс, условно, для чтения данных. И есть его реализации: а) для чтения с компа ; б) для чтения с облака. И суть DI и IoC для того и нужна, чтобы проще было в случае чего сменить реализацию с а) на б). Так как по сути мы заменим только реализацию интерфейса, а спринг сам создаст все нужные бины и тд.
@Jetbulb
@Jetbulb 3 жыл бұрын
Конечно, это не только про уменьшее кода в нашем приложении. Главная идея, отдать часть своей ответственности за процессы (конфигурирование, создание и последующие встраивание объектов) на фреймворк. Разумеется, это дает нам свободу при замене реализаций, поскольку если мы будем следовать ООП принципам, то мы легко сможем к уровне конфигурации выбирать нужную реализацию компонента, к примеру в таких средах: разработка, тестирование, продакшн. Очень немаловажный момент, что мы высвобождаемся от глубоких знаний информационной системы и как она работает. Наши компоненты становятся независимым и ориентированными только на свою конкретную задачу. Но главное, что мы просто описываем наши компоненты, показываем места где их нужно встраивать, а все остальное (конфигурирование, создание и последующие встраивание объектов) делает уже фреймворк. Собственно, это и есть "Инверсия управлени" или по другому можно назвать "Передача контроля", словно директор и его заместитель, который отвечает за что-то конкретное и результат выносит на использование директором. Ну собственно, Spring IoC Container отлично это реализует и применяет на практике.
@wdmg
@wdmg Жыл бұрын
Да. На отметке 29:55 сделайте тише. Там будет плохой звук на 10 секунд. Потом будет ещё один момент, но будет тише, чем в первом моменте. А так всё хорошо.
@vlera4198
@vlera4198 Жыл бұрын
А inversion of Control это случайно не тоже что dependency inversion (не injection) ? т.е. в том смыcле что этот контейнер реализует принцип DI а не в том что мы отдаем контроль за созданием и внедрением зависомстей. Откуда информация что это именно так? Если бы это было про создание и внедрение заивсимостей то логичнее было бы назвать его dependency injection container
@Jetbulb
@Jetbulb Жыл бұрын
Стоит начать с того, что IoC - это принцип, а DI - его реализация. Инверсий управления много, к примеру «фабрика». Spring IoC-container - это название «спринговое» о чем можно почитать в их официальной документации и по сути является частной формой DI. Твои мысли от нелогичности названия и того, что по факту происходит справедливы, поскольку процесс выходит за пределы простого управления внедрением. Но «имеем, что имеем» 😅
@nonamenonametansh337
@nonamenonametansh337 Жыл бұрын
Какой у вас шрифт в idea?
@Jetbulb
@Jetbulb Жыл бұрын
Так было давно, что уже не упомнишь. Наверное 14-16
@AS-nu7ez
@AS-nu7ez 3 жыл бұрын
Будут курсы для мидлов? Разбор SpringSecurity? OAUTH2.0? Кэширование и т.д.?
@Jetbulb
@Jetbulb 3 жыл бұрын
Круто :) Спасибо, за такой классный вопрос. Да, все будет и мы уже работает над программой по Spring Framework и его частным случаям. Но все постепенно, мы пока ограничены в ресурсах. Наша цель - предоставлять как минимум 1 раз в неделю интересный контент для помощи в самообучении.
@AS-nu7ez
@AS-nu7ez 3 жыл бұрын
@@Jetbulb спасибо что ответили. Извините за такой может быть некорректный вопрос. А мы это кто? Вы школа или группа энтузиастов, и также планируете ли делать курсы полноценные до какого уровня? Заранее спасибо за ответ
@Jetbulb
@Jetbulb 3 жыл бұрын
@@AS-nu7ez Мы - небольшая команда из разных уголков мира, которая трудится на тем, чтобы начинающие специалисты в IT смогли быстрее и комфортнее устроиться на позицию своей мечты 😃 Под эту задачу и делаем бесплатный контент)
@AS-nu7ez
@AS-nu7ez 3 жыл бұрын
@@Jetbulb понял, здорово. А можно как-то в ваш проект влиться и также помогать?
@Jetbulb
@Jetbulb 3 жыл бұрын
@A S, спасибо за желание помогать. Это же помощь не только нам, но и ребятам которые смотрят канал, ищут информацию. Отметку сделали, как только понадобится помощь, сразу свяжемся.
@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 спасибо
@AnotherCogInTheMurderMachine
@AnotherCogInTheMurderMachine Жыл бұрын
Определение SpringCore 1:02:24
@user-fj7on8le9g
@user-fj7on8le9g 2 жыл бұрын
можно по спринг секьюрете)
@Jetbulb
@Jetbulb 2 жыл бұрын
Можно и нужно :) Всему свое время. Будет!
@vadimpiven834
@vadimpiven834 3 жыл бұрын
Это не в укор, но иногда у меня возникает ощущение, что мне пытаются втюхать товар, ну прям без которого жить не возможно
@ChitavaA
@ChitavaA Жыл бұрын
По канализации вода не подается, если бы подавали, все бы сдохли от дизентерии. Канализация выводит продукты жизнедеятельности, а вода подается по водопроводу
@d1nque781
@d1nque781 10 ай бұрын
ctrl на клавиатуре, а это control
@yevheniiklymenko99
@yevheniiklymenko99 3 ай бұрын
ни о чем, жаль потраченного времени
@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 доволі розмиті поняття і ходить багато суперечок про їх межі 😅
Евгений Борисов - Spring Patterns
56:38
TechTrain
Рет қаралды 126 М.
Normal vs Smokers !! 😱😱😱
00:12
Tibo InShape
Рет қаралды 114 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 29 МЛН
Транзакции - Spring Framework в деталях
1:20:21
Уголок сельского джависта
Рет қаралды 17 М.
Про Kafka (основы)
49:23
Владимир Богдановский
Рет қаралды 353 М.