Spring Framework. Урок 4: Инверсия управления. Inversion of Control (IoC).

Поділитися
Вставка
  • Опубліковано 1 гру 2024

КОМЕНТАРІ • 201

  • @alishevN
    @alishevN  5 років тому +19

    ПОЛНЫЙ КУРС ПО SPRING: swiftbook.org/courses/438
    Плейлист этого курса: ua-cam.com/play/PLAma_mKffTOR5o0WNHnY0mTjKxnCgSXrZ.html
    Telegram: t.me/alishev_g

  • @Jesteruslolus
    @Jesteruslolus 5 років тому +213

    Я не понимаю как можна так грамотно все обьяснить: вопросов после просмотра просто нету, автору большой респект и добра :)

    • @aks964
      @aks964 4 роки тому +20

      Просто вам не рассказали про кучу аспектов, потому и нет вопросов))

  • @SEkiRakun
    @SEkiRakun 3 місяці тому +1

    О Боги, как же доступно асе разжевано, смотрел другие материалы и курсы и ничего не понял, осоьенно не понял для чего там все делалось, а здесь на примерах все доступно объяснено!❤

  • @konstantinsakharovsky7980
    @konstantinsakharovsky7980 5 років тому +91

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

  • @aks964
    @aks964 5 років тому +4

    Открыл я книгу спринг в действии. Первые сто страниц перечитал раза 3. Ниче не понятно. Полез на ютуб, нашел это. Я думаю этот канал нужно внести в кладезь золотой информации. Обычно все говорят про синтексис, затем синглтон и на этом заканчивается. А тут реально поэтапный проект. После него можно свободно читать книгу, и там все понятно. ПРосто пересматривать 2 раз долго)

    • @Alex11Fox
      @Alex11Fox 4 роки тому

      Спринг в действии 5?

  • @matthewfedoseev580
    @matthewfedoseev580 4 роки тому +15

    Слушай, я учился кодить только на английском, и соответственно по Spring искал инфу на нём. Но я был так шокирован когда нашел твой курс, всё настолько понятнее и чётко. Всё объясняешь, микрофон хороший, вау. Респект тебе!

  • @ВалерийМихайлов-ы9г
    @ВалерийМихайлов-ы9г 5 років тому +22

    Alishev спасибо тебе огромное! Только ты так хорошо объясняешь! Только прошу тебя, не бросай ты это дело)

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

    Спасибо за Ваш труд! Коммент в поддержку канала.

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

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

  • @natalyanv7216
    @natalyanv7216 5 років тому +3

    Благодарю вас за уроки, вы так понятно и просто все объясняете, у вас приятная речь без слов паразитов и оптимальная скорость повествования! Спасибо!!!

  • @ПавелСмирнов-й7х
    @ПавелСмирнов-й7х 4 роки тому +1

    Все интереснее и интереснее, с удовольствием продолжаю

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

    Редко пишу комментарии, но тут я не смог пройти мимо.
    Отличные уроки, по спрингу было в голове много разупорядоченной информации, а с помощью ваших уроков все встаёт на места. Спасибо!

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

    Блин, читал/перечитывал статьи -не понимал. Посмотрел один раз видео - все понятно! Автору огромное спасибо.

  • @maksymskorobogatov2295
    @maksymskorobogatov2295 5 років тому +5

    Спасибо тебе, за уроки, лучшее что нашел за последнее время

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

    Шикарные у вас уроки, большое спасибо!

  • @petrchebanov6667
    @petrchebanov6667 4 роки тому +5

    Очень хорошо объясняешь и прививается интерес к технологии. Оргомное спасибо!! Лайк, подписка и трэкинг твоего канала гарантирован))

  • @mitoxtech3284
    @mitoxtech3284 4 роки тому +1

    Этот урок смотрел с огромным интересом, спасибо большое!

  • @R2D2G7
    @R2D2G7 5 років тому +6

    Здоровья тебе, дружище!
    Надеюсь с твоими уроками освоить Spring, пока начало нравится)

  • @АлександрГлущенко-ц9ф

    Пожалуй, лучшее, что есть не просторах русскоязычного интернета о Spring. Так держать! Огромная благодарность и восхищение способностью доносить сложный для понимания материал!

  • @КАРАСЬ-м4ъ
    @КАРАСЬ-м4ъ 5 років тому +5

    Ждем продолжения! А так очень четко и структурировано!

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

    Громадное спасибо! До ваших видео я думал, что я безнадежен :)

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

    Алишев, твои объяснения лучшие! Процветания тебе и твоему каналу!

  • @БогданЛевицький-ю8щ

    Вроде как всегда всё супер, но Service Locator открыл мне глаза. Материал как всегда на высоте) приятно смотреть инфу про любой язык в твоей подаче)

  • @alexkotob2169
    @alexkotob2169 5 років тому +2

    Спасибо! Хоть кто-то нормально разъяснил на конкретных примерах, что такое спринг и с чем его едят)

  • @alexanderostretsov2508
    @alexanderostretsov2508 4 роки тому +4

    Невероятно доходчиво объясняешь! Спасибо! Еще хотел отметить что подача материала идет достаточно последовательно, не оставляя пробелов в изученном, в отличии от многих других ресурсов, где лекторы откладывают на потом какие то части кода, из-за чего остается ощущение недопонимания.

  • @evgeniydubovik3559
    @evgeniydubovik3559 5 років тому +22

    Лайк сразу

  • @andryush333
    @andryush333 5 років тому +4

    Спасибо за очень доступное объяснение 👍

  • @romakorets6790
    @romakorets6790 5 років тому +1

    Большое спасибо! Благодаря вашим урокам наконец то начинаю понимать Spring

  • @Грант1147
    @Грант1147 4 роки тому +1

    Наиль спасибо вам огромное, прошел курс "Java для начинающих", потом "Продвинутая Java", и сейчас прохожу Spring параллельно с Ангуляром)

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

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

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

    Она
    .
    А имя её, не иначе, Любовь.
    Порок соразмерный Гоморре.
    А страсти бездоннейший ров
    вместил бы и вечное море.
    Искра, что огонь принесла
    в предельную, нужную пору.
    Горящим кольцом обнесла
    стога и ту девственну гору.
    Лилась она ливнем, любя,
    и пил её каждый уж колос.
    И птицей несла вдаль себя
    и свой оживляющий голос.
    Летел этот голос в опор,
    дарил нараспев миру ноты.
    Пчелой облетела сто гор,
    наполнив душевные соты.
    Как лекарь, средь боли могла
    дышать, веселить и планету.
    Любила чистейше. Жила!
    В том спора, сомнения нету!
    Цвела, и тянулась к лучам,
    и высилась щедрою мелью.
    Вещала улыбкою и палачам.
    А руки дарили мне перья.
    Сияла она золотым маяком,
    от лишних что был поукрытый.
    Впитала добро с молоком,
    и, может, была им умыта.
    Она - луч промежду огней.
    И Богу милей такой лучик!
    Пусть чуть иногда и больней,
    но он согревал жарче пущих.
    И пусть улетел, обещая тепло
    мне, чудо в объятьях иного...
    Но мне от неё и поныне светло
    и сладко у сердца больного...

  • @vladimirdragosh4846
    @vladimirdragosh4846 5 років тому +3

    Преподаватель от Бога!

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

    Классный курс и пример интересный) Я немного увлеклась и сделала так чтобы музыка рандомно (из 8 треков) реально проигрывалась. Получилось интересно

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

    Спасибо! Наконец то я начал понимать что такое этот spring о котором все говорят

  • @DEVKA777
    @DEVKA777 5 років тому +2

    Спасибо огромное за уроки! Они бесценны!

  • @ant4197
    @ant4197 5 років тому +4

    Одно из лучших объяснений

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

    Замечательные уроки! Большое Вам спасибо.

  • @АлександрМясников-й2щ

    Наиль, очень ждем продолжение!)

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

    Спасибо большое Вам!) Без Вас я бы наверное никогда бы не узнал что такое Spring для чего он нужен и что его изучать так просто и весело=)

  • @Krjemilek1970
    @Krjemilek1970 4 роки тому

    Спасибо! После чугунного текста купленных учебников, как глоток чистого воздуха.

  • @GoPetr
    @GoPetr 5 років тому +3

    Спасибо! Лучше уроки!

  • @eugene8863
    @eugene8863 5 років тому +151

    Братан, у меня появилась сильная зависимость в твоих видосах и срочно требуется новая инъекция

    • @stanislavomelchenko5271
      @stanislavomelchenko5271 5 років тому +2

      Java -Spring - injection=)

    • @МаксимТолстобров-э9х
      @МаксимТолстобров-э9х 4 роки тому

      @@stanislavomelchenko5271
      while(true){
      JavaSpring.injection() ;
      };

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

      ​@@МаксимТолстобров-э9х, если инъекция в цикле, толерантность будет быстро расти и потребуется смотреть с каждым разом все больше )))

    • @МаксимТолстобров-э9х
      @МаксимТолстобров-э9х 3 роки тому

      ​@@blackview2404 injection() {
      if(tolerantnostь == normalForYou){
      break;
      }
      };
      Хотя не, это не будет работать

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

      @@МаксимТолстобров-э9х , да из-за мягкого знака не скомпилируется))

  • @viacheslav90
    @viacheslav90 4 роки тому +1

    Это круто, я наконец-то понял что такое полиморфизм.

  • @СергейВячеслаев
    @СергейВячеслаев 5 років тому +2

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

  • @ИванАнтонов-ъ6и
    @ИванАнтонов-ъ6и 4 роки тому +1

    Лектор от бога!

  • @ЕвгенийГусак-з4у
    @ЕвгенийГусак-з4у 5 років тому +2

    спасибо огромное за урок! еще и Jimi послушал)

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

    Наиль, спасибо! В ожидании платного курса, начинаю знакомство со Spring здесь.

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

    Вы гений обучения, спасибо!

  • @alfmario8036
    @alfmario8036 4 роки тому +1

    Спасибо большое за твои лекции.

  • @АндрейАндреев-з2о9у

    Спасибо большое автору за такой классный курс!
    Вы просто потрясающий человек, что делитесь знаниями, которые помогут получить профессию!
    И у Вас это отлично получается=)

  • @blackmulthumor
    @blackmulthumor 4 роки тому +1

    Спасибо за урок, ты лучший!

  • @aleks9274
    @aleks9274 4 роки тому +1

    Очень хорошо излагаешь!

  • @caffeinejavacode1475
    @caffeinejavacode1475 4 роки тому +4

    It's the best explanation that I have ever seen

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

    Спасибо за труд! Помню когда у вас были всего 28 подписчиков)))

  • @muhamedoshan5246
    @muhamedoshan5246 5 років тому +1

    Наконец-то нормальный урок по Spring на русском. Спасибо тебе.

  • @lex_lio
    @lex_lio 4 роки тому +1

    Действительно очень круто объясняете, даже я будучи человеком, который скептически относится к комментариям, не удержался и написал свой первый, за свою жизнь, коммент. Т.к. действительно Вы достойны похвалы, спасибо большое за Вашу работу!!!

    • @alishevN
      @alishevN  4 роки тому

      Спасибо!

    • @manOfPlanetEarth
      @manOfPlanetEarth 4 роки тому

      А откуда скептицизм-то к комментариям?????

  • @ivankoliada7719
    @ivankoliada7719 4 роки тому +15

    Блин тебе надо сделать свою обучалку в нете (udemy хорошо конечно ;)) но я считаю у тебя прям дар объяснять другим)))))

  • @Eliseev_Serge
    @Eliseev_Serge 9 місяців тому

    Хорошо разобрал!5+ оценка

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

    Господи, да у него ещё и хороший музыкальный вкус!

  • @alenagontarenko3454
    @alenagontarenko3454 4 роки тому +1

    Спасибо, велеколепные уроки!!!

  • @Hare-Code
    @Hare-Code 4 роки тому

    Спасибо! Качественно. Продолжайте пожалуйста. Рассмотрю вопрос о донатах...

  • @AnnaSmirnova1
    @AnnaSmirnova1 5 років тому +1

    Спасибо большое за уроки!!!!!

  • @angapov
    @angapov 5 років тому +1

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

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

    Божественно

  • @mira_the_dog2305
    @mira_the_dog2305 4 роки тому +1

    Офигеть, это единственное место где обьяснено, почему и зачем мы используем конструкторы! Нигде более я такого не встречал, везде просто есть фраза "Создаем конструктор".

  • @markbeaver4806
    @markbeaver4806 5 років тому +1

    Отлично, то что нужно. Спасибо большое!

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

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

  • @galina5194
    @galina5194 5 років тому +8

    Отлично!
    Я бы еще добавила, что бин - это не просто java-объект, а java-объект, управляемый Spring-ом.

  • @footballlife9931
    @footballlife9931 5 років тому +1

    Спасибо за урок!

  • @ДаниярКаби
    @ДаниярКаби 2 роки тому

    Спасибо за труд👍

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

    9:15 - но ведь это не правда, это определение Dependency Injection. Inversion Of Control это принцип, согласно которому ты передаешь управление жизненным циклом приложения фреймворку. От программиста требуется только предоставить компоненты - собственные классы, а фреймворк за тебя решит как их создавать, как управлять зависимостями, как очищать ресурсы.
    Dependency Injection это реализация принципа Inversion Of Control, которая говорит о том, что зависимости приходят извне (через конструктор или сеттер), а не создаются вручную внутри класса.
    Есть еще принцип Dependency Lookup (Dependency Pull) - это так же одна из реализаций принципа Inversion Of Control, которая говорит о том, что компонент сам ищет зависимость в контейнере. На примере это будет выглядеть как context.getBean(ClassicMusic.class)

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

    красавчик, спасибо большое!!!!

  • @artemvoronov4751
    @artemvoronov4751 5 років тому +1

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

  • @kirsanovroman
    @kirsanovroman 4 роки тому

    Спасибо, доступно и понятно!

  • @Mat1ga
    @Mat1ga 5 років тому +1

    Лучшего объяснения на русском не втречал, уважение

  • @konstantinmatushenko5831
    @konstantinmatushenko5831 5 років тому +12

    Можете сделать 1-2 урока по технологии ajax и json? Технологии очень востребованные, и везде используются

    • @alishevN
      @alishevN  5 років тому +13

      Про JSON есть в моем курсе про Андроид.
      Про AJAX расскажу, когда дойдем до Spring MVC и web приложений.

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

    но в видео ты же перекомпилировал. урок офигенный) правда, спасибо

  • @for_whom_the_bell_tolls
    @for_whom_the_bell_tolls 5 років тому +4

    Отдельный респект за Хендрикса)

  • @nikkorenkoff
    @nikkorenkoff 5 років тому +5

    Первый.Спасибо за уроки)))

  • @arthurfonzerelli6484
    @arthurfonzerelli6484 5 років тому +5

    Поправьте если я ошибаюсь, но вроде как, то, что ты рассказал - это принцип инверсии зависимостей (dependency inversion), а не инверсии управления (inversion of control). Инверсия управления - это по-сути, просто работа внутри фреймворка (не мы дергаем внешние библитеки когда нам надо, а фреймворк дергает нас, таким образом происходит инверсия управления от нас к фреймворку)

    • @alishevN
      @alishevN  5 років тому +1

      Вообще, Inversion of Control довольно общее понятие и все говорят про него по-разному.
      Я бы наверное сказал, что главным в IoC все-таки является то, что сущность не сама создает свои зависимости, а ей эти зависимости передают (передает тот же Фреймворк).
      Но опять-таки повторюсь, что твердого определения IoC нет и может быть вы более правы.

    • @Alex11Fox
      @Alex11Fox 4 роки тому

      @Пожилой Программист точно, DIP

    • @manOfPlanetEarth
      @manOfPlanetEarth 4 роки тому

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

    • @manOfPlanetEarth
      @manOfPlanetEarth 4 роки тому

      Пожилой Программист
      ты жив?

  • @olegfomenko5007
    @olegfomenko5007 5 років тому +1

    классно объясняешь)

  • @arsentemirtasov9476
    @arsentemirtasov9476 5 років тому +3

    Здравствуйте Алишер. Я сам только все еще изучаю Java, но Inversion of Control это ведь тоже самое что и паттерн Стратегия разве нет?

  • @БоронбайКасымов
    @БоронбайКасымов 3 роки тому

    Супер

  • @МихаилКурагин-г8м
    @МихаилКурагин-г8м 4 роки тому

    Блин пошел делать Д.З. - залип на What A Wonderfull World )))

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

    Отличные уроки! Когда будет продолжение по Spring? А лучше полный курс, по типу продвинутая java на udemi.

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 2 роки тому

    Спасибо

  • @ТетянаБабак-и3и
    @ТетянаБабак-и3и 4 роки тому

    космос))) спасибо)

  • @АлексейМатиас-д4р
    @АлексейМатиас-д4р 4 роки тому

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

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

    Thanksss!✨

  • @yauhenizakhno8510
    @yauhenizakhno8510 5 років тому

    (в классе TestSpring) В других источниках создают ссылку на объект типа не СlassPathXmlApplicationContext context, а ApplicationContext context. Я думаю так правильнее будет, вы же сами говорили, что на уровне интерфейсов всё лучше делать

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

    Спасибо бро!!!!!!!!!!!!!

  • @sergkarpik
    @sergkarpik 4 роки тому

    Хех, отличное видео!
    понятное

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

    IoC это такой архитектурный подход когда сущность не сама создаёт свои зависимости а когда этой сущности зависимости поставляются извне

  • @olexiypysarenko8090
    @olexiypysarenko8090 5 років тому

    Спасибо!

  • @javohirsayfullayevich7127
    @javohirsayfullayevich7127 4 роки тому

    Hello, Firstly I'm gonna say thank you for this tut. and I got a question, could you share presentations of these courses.

  • @kanatatygayev5052
    @kanatatygayev5052 4 роки тому +1

    Здравствуйте!
    Подскажите пожалуйста,в конфигурационном файле мы создали бин ClassicalMusic(20:48) который имплементирует интерфейс Music,почему при получении бина указывается Music.class ведь Music это не класс а интерфейс. Music music = context.getBean("musicBean", Music.class);
    Я понимаю что это работает но не могу понять почему это работает,ведь создается объект classicalMusic))Спасибо!

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

    А почему мы не взяли обьект MusicPlayer как bean, как classicalMusic например?

  • @МагомедИбрагимов-с8ъ

    А у вас на курсе(Udemy) есть практические задачи в виде тестов? или задачи сам должен искать

  • @Roman-kpax
    @Roman-kpax 5 років тому +1

    Наиль здравствуй.
    В классе TestSpring мы достаем бин из context и указываем в качестве аргументов bean id и класс, реализацию которого надо вернуть - "context.getBean("musicBean", Music.class)". Озадачил параметр Music.class (т.к. это интерфейс, а не класс). Как я понимаю, в этом и состоит гибкость IoC, т.к., фактически, мы указываем интерфейс, а в конфигурационном файле конкретный класс, имплементирующий данный интерфейс и Spring затем ищет все классы, использующие этот интерфейс и когда нам нужно что-то поменять, мы делаем это в конфиг файле, а не в java class, правильно?

    • @alishevN
      @alishevN  5 років тому +3

      Да, вы говорите все верно.
      Вызов .class на интерфейсе Music действительно может озадачить, но это такая особенность реализации рефлексии в Java.

    • @manOfPlanetEarth
      @manOfPlanetEarth 4 роки тому

      нет, это никакая не гибкость IoC! это обычный полиморфизм!!!

  • @tatiana-mih
    @tatiana-mih 4 роки тому

    Спасибо всё очень доступно. Планируете ли курс лекций про паттерны? Было бы очень здорово.