Друзья, на моем канале большинство уроков посвящено джаваскрипту, но решил немного разбавить и снять вот такой вот ролик по созданию rest api на Spring Boot!) Приятного просмотра!
@alexandrcherniavskiy56763 жыл бұрын
Давай больше Spring и Java! только не для начинающих!)) в остальном все супер
@РахатбекКожантаев3 жыл бұрын
Объяснения вообще супер! Ничего лишнего. Побольше таких видео про Java Spring!
@РахатбекКожантаев3 жыл бұрын
Можешь пожалуйста, сделать видео урок про JavaServer Faces!
@arturfrimu41613 жыл бұрын
Хотим больше видео про спринг и джаву 😁!! Отличный контент, хорошо падаёшь информацию!! Молодец 👏
@АнтонСадовский-ы9ц2 жыл бұрын
Спасибо. Ждем еще по Spring и Java
@CrazyGrey2 жыл бұрын
учитель от бога! подача супер. ни одного слова лишнего. концентрация полезной информации на секунду хронометража зашкаливает.
@Zhekster7773 жыл бұрын
Как всегда лучший) Зашёл на 2 мин посмотреть, в чём суть видео, в итоге просмотрел полностью. Так держать!
@UlbiTV3 жыл бұрын
Круто же!)) спасибо!
@DraCk9012 жыл бұрын
Не знаю почему - но вот как то ппц всё понятно становится когда посмотрел этот урок! Спасибо - очень-очень хороший урок!
@АлександрКувшинников-е9л2 жыл бұрын
Большое спасибо за это прекрасное видео! Сухо, быстро, и по делу. Получил нужную информацию и удовольствие от преподнесения информации😊
@srt20463 жыл бұрын
Бро, твоя подача материала настолько шикарна, что после получасового урока про БД я решил посмотреть и этот курс 😁💪
@UlbiTV3 жыл бұрын
Ахахахах!) как я рад это слышать, спасибо бро!)
@arturfrimu41613 жыл бұрын
@Ulbi Tv ! это лучшее что я видел про спринг ! Отличная, понятная, актуальная информация… Всем рекомендую!! Делай ещё видео по джаве и спринг
@maxsyomochkin4602 жыл бұрын
Бро, ты крут. Такой компактности по всем интересующим меня вопросам я еще нигде не встречал. Спасибо за труды и давай ещё!!
@bukovynskiy4 ай бұрын
Ульби, просто спасибо что ты есть. Если бы не ты я бы не знаю как бы понимал все эти штуки
@onevermore3 жыл бұрын
очень полезное и нужное видео, как раз хочу освоить этот фреймворк) спасибо большое!
@UlbiTV3 жыл бұрын
Спасибо!) Мало кто спринг на канале у меня смотрит))
@skivskiv1943 жыл бұрын
Такое четкое объяснение и все поделу без всяких заиканий спасибо тебе
@wknd2292 жыл бұрын
Как всегда без лишнего... все по теме ... респект и уважуха! 35:26 сегодня советую заменить... 18 compile(*) на 18 implementation 'org.flywaydb:flyway-core:5.2.3'
@barbatage50783 жыл бұрын
Тимур, Спасибо за видео) как всегда очень информативно)
@UlbiTV3 жыл бұрын
Спасибо большое!)
@ehhehed3 жыл бұрын
Спасибо за видео. На проекте надо было создать стаб для сервисов, а я автоматизатор. Никогда такого не делал. Твоё видео дало мне направление. Ещё раз спасибо.
@nikso-smile2 жыл бұрын
Лучший! Долго искал как сделать свой api и случайно вообще наткнулся. Всё по делу, понятно, быстро, без воды. Спасибо большое! По больше бы таких видео в русскоязычном ютубе
@ammdli7713 жыл бұрын
Очень классно объясняешь, сам учусь на программиста, решил сделать всё точно так же как ты делаешь в видео в качестве практики. Мне пока сложно удается понять все, но надеюсь это нормально а не я дно...
@БактилекАшыров-ъ9ш3 жыл бұрын
Охуительный урок 👍👍👍👍 я вообще не был знаком sping boot но здесь я получил ответы на все свои вопросы. Спасибо
@evgenii.zaikin2 жыл бұрын
Красавчик! Больше контента по серверной разработке по Java ^^
@ivanshka17592 жыл бұрын
Если не доебываться до терминологии (в Java не функции, а методы), то просто 10/10. Четко, ясно, по делу, без воды.
@СергейБезногов-т6у Жыл бұрын
Скажу честно - это единственное толковое видео по Spring Boot во всем интернете, включая и русский и англоязычный интернет. Я просто не понимаю почему в Ютубе нет толковых видео курсов по Spring и Spring Boot. Ведь это один из самых популярных и самых старых фреймворков. Ну это же издевательство когда тебе показывают какой то Eclipse и Maven. Я смотрел индийского блогера Telusco, он - самый толковый индийский блогер, но за 5 часов он объяснил меньше чем вы за час. При этом ничего не сказал ни про сервис ни про репозиторий. А многочасовые рассказы про Hibernate и JPA не имеют никакого смысла если человек не знает файловую структуру веб приложения. Так что видео сделано на отлично, говорю как человек пересмотрвший десятки видео на эту тему как на английском так и на русском языке. Спасибо за хорошую работу
@UlbiTV Жыл бұрын
Спасибо! Рад стараться
@людмилавойціцька-л3е Жыл бұрын
я тоже смотрел много видео и рускоязычных в основном - соглашусь с вами - это лучшее, еще amigoscode вроде бы
@людмилавойціцька-л3е Жыл бұрын
@@UlbiTV а что бы вы посоветовали сейчас по бекенду, я перекинулся на nest.js - правильный ли я выбор сделал? нравится JS-TS, но на springboot вроде бы всегда найдется работа, и я мыкаюсь не знаю что делать
@ДаниилКнязев-в2ц5 ай бұрын
@@людмилавойціцька-л3е та же ситуация. прошло 8 месяцев, что ты выбрал?
@severustvr82022 жыл бұрын
Четко архитектурно правильно и очень доходчиво. Самое что понравилось не размазано и все по делу. Записывай еще.
@SileLence2 жыл бұрын
Супер видео, сразу стало всё понятно как работает Spring Boot и REST. Спасибо большое!
@СерегаСобутыльников3 жыл бұрын
Бро, отдельное спасибо, много понял, что не понимал... а так же немного понял того что нужно подучить. Но по поводу виде, все понятно и шикарно!!! от души спасибо!!! чистого кода тебе!
@EugeneChe-813 жыл бұрын
Такой формат заходит новичку, но если это второй-третий язык. Я после Пыхи перехожу на Жабу и мне на ура всё заходит. Находка прямо. Очень хочется увидеть туториал Java+NGINX+Docker-compose (развертывание простейшего приложения). Спасибо)
@СергейБезногов-т6у Жыл бұрын
Это не для новичка. Человек уже должен знать Джабу и иметь представление о том что такое бэкэнд фреймворк, Rest API, SQL базы данных. И за один час он получает необходимые знания о том как сделать Rest API используя Spring Boot. А Computer Science за один час освоить нельзя. Автор видео сумел за час объяснить основные моменты о том как делать Rest APIs используя Spring Boot. И это была отличная работа.
@serdotsenko3 жыл бұрын
неожиданно, ну тогда уже ждём и микросервисы )
@UlbiTV3 жыл бұрын
Думал об этом, будет наверняка)
@calmmusictonight3 ай бұрын
simple and very clear tutorial, thank you 👍
@ЕвгенийСавинов-з5р3 жыл бұрын
Круто! Спасибо тебе)
@UlbiTV3 жыл бұрын
Спасибо друг!)
@КириллОструбин3 жыл бұрын
Что то на эльфийском..)
@egorvafin19782 жыл бұрын
Это было круто. Осталось со всем разобраться
@DG_nomad Жыл бұрын
Очень хороший подробный урок, спасибо огромное!!
@Di-yes9 ай бұрын
Улби, дороу, слушай, а не можешь плз записать по возможности какой-нибудь ещё ролик по спринге? Присоединяюсь к комментаторам, на ютубе о нем практически вообще ничего нет 🤔
@5pa1c2 жыл бұрын
Прикольно, у автора есть бэкэнд на спринге и на нодеjs, интересно что-бы он предпочел в реальном проекте
@m2000ka6 ай бұрын
Спасибо большое за труд. Очень полезный урок!
@zz_ayrat_zz98172 жыл бұрын
У тебя хорошо получается, так продолжай же выпускать ролики по спрингу!)
@devorer773 жыл бұрын
Ого! Остапа понесло )))
@UlbiTV3 жыл бұрын
Ахахаах)) почему бы и нет 😂
@ivanb86623 жыл бұрын
Кому лень ставить mysql вот так можно: docker run --rm -d --name mysql --publish 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=ulbitv -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=root mysql:latest
@lord83603 жыл бұрын
Очень крутой видос , хочется продолжения по этому фреймворку
@UlbiTV3 жыл бұрын
Спасибо!) Наврядли будет, активность маленькая)
@НиколайВасиленко-к8з9 ай бұрын
@@UlbiTV С одного ролика тяжело накинуть активности от Java разработчиков, но по Spring Frameworks довольно мало инфы на русском. От тебя было бы прекрасно посмотреть такое
@ultimate98 Жыл бұрын
Небольшой апдейт, который можно сделать для кода: 1) на 19:18 в функции getOne() условие помечается ка кпредупреждение, так как проверка на null не имеет смысла. Потому что метод репозитория findById() возвращает не сам объект, а контейнер Optional, в котором лежит либо UserEntity, либо null. Поэтому проверка на null всегда true, так как контейнер в любом случае есть. Как я это исправил: сделал запрос к БД строкой "Optional user = userRepo.findById(id);", а в проверке на наличие элемента (условие для if) использовал встроенный метод isEmpty() - то есть if(user.isEmpty()) {тело} 2) На 11:16 можно (не обязательно) сделать конструктор UserController и передать ему в качестве параметра репозиторий UserRepo (соответственно, сделать поле "privat final UserRepo userRepo;", ну и сам репозиторий отметить аннотацией @Repository - это альтернативный вариант создания бина. А так, видео просто великолепное, за что благодарю Тимура тысячекратно!
@СтаниславКняжнин Жыл бұрын
Спасибо вам огромное! На этом моменте недоумевал, почему не бросает эксепшн.
@ultimate98 Жыл бұрын
@@СтаниславКняжнин Все ради сообщества. Желаю удачи в дальнейшем освоении
@pionini-ololo3 жыл бұрын
Спасибо что без ломбок, полезное видео! Хотелось бы ещё про свагер для этих апи
@АнтонБасов-м3у2 жыл бұрын
что не так с ломбок
@DrGurgen3 жыл бұрын
Не пишу на java но лайк оставлю
@UlbiTV3 жыл бұрын
Спасибо!))
@sovrinfo2 жыл бұрын
Спасибо за видео.Коммент в поддержку!
@falsetrue79103 жыл бұрын
Не интересуюсь java, но было интересно посмотреть, интересный фрэймворк!)
@UlbiTV3 жыл бұрын
Спасибо!)
@yanvolkovich14143 жыл бұрын
Super-Duper!
@АбылайЖалгасбай3 жыл бұрын
бро красава спасибо тебе, продолжай в этом духе мы с тобой)
@withotsoul7252 Жыл бұрын
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
@gagn812 жыл бұрын
Спасибо за видео! На мой взгляд, урок получился полезный. Единственное, хотелось бы еще +юниттесты в конце.
@ВладимирЗайчиков-т6и2 жыл бұрын
КУРС БОМБА!
@borymskyi2 жыл бұрын
6:28, в бд обнаружена таблица sweater ))00 кто то явно смотрел и прокачивал джаву через ролики Дрю (LestCode)
@UlbiTV2 жыл бұрын
Былоооо дело, было))
@vladislavnesterov8561 Жыл бұрын
Очень крутая подача материла, спасибо большое
@cosmo_polit2 жыл бұрын
спасибо, очень круто
@olegivaskiv48803 жыл бұрын
Спасибо тебе большое. Очень полезное видео
@Atom_second5 ай бұрын
Лучший 👍
@saif-adnan Жыл бұрын
привет! почему вы больше фокусировались на фронтенд "JavaScript" вместо бэкенда? вижу все ваш видео о MERN / Nest / React и тд..
@samoiloff902 жыл бұрын
Спасибо! Давай еще проектов и роликов на Java)
@ruff7209 Жыл бұрын
Высший пилотаж!
@azatgalyautdinov3548 Жыл бұрын
Спасибо за видео урок чувак! Очень полезная инфа. Будет круто если сделаешь рест апи с использованием котлин, думаю многим интересно.
@nkalgin Жыл бұрын
Замечательный материал. Огромное спасибо за доходчивую подачу. Единственое что, я бы простой get() из опционала не оставлял... на него и Идея ругается. orElseThrow() прикрыться и уже лучше будет.
@maksmaks34342 жыл бұрын
Спасибо за урок, очень ценная информация
@greegav2 жыл бұрын
Как понятно рассказать про флайвей и миграции за 1 минуту. Мастер-класс.
@Roman-zm7ev Жыл бұрын
дружище, дай совет или ссылку на видео, как связать это дело с вью.жс или хтмл. Чтобы была комуникация между страничкой базой данных и бэкендом
@svex543 жыл бұрын
Спасибо!
@CBET0MuP3 жыл бұрын
userRepo.findById(id).get() не может выдать null, т.к. метод get помечен как not null. if не сработает
@TheVaregko3 жыл бұрын
Сильно
@mrpipiskin4 Жыл бұрын
потрясающе.
@adilkhanabdrashov75072 жыл бұрын
спасибо
@ФедорШаманов-ы9ы2 жыл бұрын
Отличное видео ! Но почему создалась таблица USER_ENTITY , а не USERENTITY ? Откуда символ "_" , существует какое-то соглашение ?
@alamedia2 жыл бұрын
Бро где ты был раньше?) Классно преподносишь информацию...
@passertm3 жыл бұрын
Очень классный ролик. Большое спасибо. Жаль на эту тему у вас только один ролик. с удовольствием и остальные посмотрел бы. Но вас не смущает что user endpoint получает userEntity а возвращает User model? Как то кривовато звучит, нет? Или бест практис такой? И еще вопросы. 2) А если нужно еще сделать чтобы можно было изменить текст todo как бы вы это лучше всего реализовать? Я к тому что PUT то уже используется для комплита. 3) А если нужно сделать изменение обьекта с несколькими полями(пользовательские данные)? Это ведь не так просто получается. Заставлять клиента присылать сразу готовый обьект не хорошо так как возможно клиент хочет поменять одно поле не касаясь других полей(на пример сменить пароль). А как лучше всего сделать что бы другие программисты не плевались?))
@Devivl Жыл бұрын
Отличный ролик.
@overpathz3 жыл бұрын
Там где ты используешь модель, это типа DTO паттерна?
@ДмитрийМелешин-р9э3 жыл бұрын
Спасибо за отличное видео! А при оборачивании энтити в модель ведь паттерн проектирования используется? Подозреваю что прокси, или это не верно?
@chaywithlemon2 жыл бұрын
Шикарно
@xmahz2 жыл бұрын
Очень крутое видео, благодаря ему я понял логику взаимодействия с rest и работу с hibernate, от себя хотел добавить: - Если вы создаете GET запрос с параметрами, то лучше это делать совместно с @GetMapping("/") и тогда ваш запрос с параметрами не будет конкурировать с запросом к серверу без параметров, иначе у вас перманентно ошибки будут идти, поскольку для вашего сервера не будет пустого запроса без параметров, но с текущей ссылкой
@faizulla58383 жыл бұрын
Ставить mySQL в папку Programs Files не хорошая идея. Все сторонние проги не нужные для для самой винды, типа офис, зип и тд рисовалки .... надо ставить отдельно, желательно в отдельную папку в корне С или в корне другого диска. Некоторые и mySQL в том числе, вы никогда не удалите подчистую... только форматирование. Не один "удалитель" не удалит mySQL или скажем IDE Эклипс...
@ivanb86623 жыл бұрын
А как миграциями управлять к какой откатиться ? в Net Core по истории удалить можно
@beSmarterThanMe2 жыл бұрын
Давай еще по СПРИНГУ и веб беку
@igordmitriev7982 жыл бұрын
Как методичка, то вполне хорошее видео.
@Zxz18 Жыл бұрын
отдуши, видосик топовый
@ctf59 Жыл бұрын
Хорошо, блин вот очень интересно было бы увидеть как это все дальше грамотно и просто разместить на VPS.
@ДядяЖеня-ь8б3 жыл бұрын
Я нихера не понял. Может, для того, чтобы вопросов было меньше, нужно было что-то ещё посмотреть?
@ВитяАка-з4ш Жыл бұрын
Я может что-то не так делаю или не понимаю. Но в видео UserRepo не получил никакой аннотации(досмотрел пока до 14 минуты), и как его Спринг находит? У меня Autowired в Котнроллере выдает ошибку, потому что не может найти используемый Репозиторий.
@chetenov3 жыл бұрын
странно, почему то у меня при открытии проекта gradle в Idea все по-другому выглядит. Нет диалогового окна «Импорт проекта из Gradle» при импорте проекта Gradle. У вас какая версия Идеи? Погуглил сейчас и нашел такое объяснение на сайте JetBrains что это диалог устарел и был удален из версии 2019 года. Неужели у вас более старая версия?
@ivanb86623 жыл бұрын
Еще бы из докера с БД работать.... и ломбок
@nmodonov3 жыл бұрын
14:00 - после if не вижу else в проверке юзера перед созданием. Return завершает функцию без продолжения исполнения кода?
@M.Darsky3 жыл бұрын
Да. Шлёт бэдреквест в браузер, и вместо страницы будет ошибка из 400-х,
@vostangevorgyan9842 Жыл бұрын
Klassnoe video
@omurturdubekov51823 жыл бұрын
Почему сборщик проекта не Maven?
@sonyaa3 Жыл бұрын
а что не так?
@LogopedLTD3 жыл бұрын
А еще по джаве будет что?)
@CrazyGrey2 жыл бұрын
поможет тем у кого на миграции вылезала ошибка после интеграции flyway Обратите внимание, что конфигурации compile, runtime, testCompile и testRuntime, представленные подключаемым модулем Java, устарели с момента появления Gradle 4.10 (август 27, 2018) и были окончательно удалены в Gradle 7.0 < / a> ( 9 апреля 2021 г.). Вышеупомянутые конфигурации следует заменить на implementation, runtimeOnly, testImplementation и testRuntimeOnly соответственно. (с) ashelkov
@gagn812 жыл бұрын
Я пробовал с implementation, ошибки нет, но Flyway не создает таблиц. У вас получилось настроить?
@ultimate98 Жыл бұрын
Привет, Тимур! По Спрингу будут ещё видео?
@captaingrimm62363 жыл бұрын
Привет. А уроки по react native будут?
@UlbiTV3 жыл бұрын
Привет, да, готовлю курс, но он будет позже!
@Unnamed-r8x3 жыл бұрын
Привет автор, заочно лайк, на жабу мне рано прыгать, я еще JS не освоил так как надо. НО уверен что интерстно, перед сном можно и глянуть для общего развития.
@UlbiTV3 жыл бұрын
Привет!) На х2 для общего развития действительно глянуть можно!)
@Тимур-м5д3п Жыл бұрын
у меня не срабатывает V2_ADD_DESC_COL.SQL, таблица не заполняется значением value
@tuborg103 жыл бұрын
Жаль не реализована работа с классом dto, не могу что-то реализовать его нормально. Еще будут туториалы по усложнению данного rest приложения ?))
@UlbiTV3 жыл бұрын
Зависит от активности под видео) если тема спринга неинтересна людям, то и снимать смысла нет
@tuborg103 жыл бұрын
@@UlbiTV как уж не интересна )) в интернете практически нет современных реализаций rest spring boot на русском
@nikso-smile2 жыл бұрын
А кто может подсказать. Вот это размещение в разных пакетах и т.д. Это же архитектура. А какую архитектуру использует автор? Есть же какое-то название или тип того
@alech36302 жыл бұрын
первый рест контроллер и оно не запускается. что то вы не досказали
@faizulla58383 жыл бұрын
если ставить ччерез Mavin то все также?
@ammdli7713 жыл бұрын
да
@самыйлогичныйчел2 жыл бұрын
используй lombok что бы не создавать getter и setter
@ЕвгенийЧекомасов-р7ф3 жыл бұрын
Есть одна неточность. Когда запрашиваем несуществующий id обрабатывается с ошибкой Exception, а не NotFoundException. public Master findMaster(Long id) throws MasterNotFoundException { MasterEntity master; if (masterRepo.findById(id).isPresent()) { master = masterRepo.findById(id).get(); } else { throw new MasterNotFoundException("Повелитель не найден!"); } return Master.toModel(master); Вот в таком виде ошибка обрабатывается, как надо. А в остальном, все круто. Спасибо!
@radpeace Жыл бұрын
Лучше сделать так: UserEntity user = userRepository.findById(id).orElseThrow(() -> new UserNotFoundException("Пользователь с таким идентификатором не найден")); return User.toModel(user);
@НиколайКузнецов-д7е3 жыл бұрын
Хороший видос, но мне кажется надо переименовать. Это скорее хороший HOW-TO in Spring (может даже такую рубрику сделаешь и не обязательно in Spring). Все-таки Spring-Boot это больше про кучу автоконфигураторов которые строят весь контекст из кучи бинов. А так все гут, как говориться Афтор Пиши Есчо.
@UlbiTV3 жыл бұрын
Спасибо!) согласен полностью, переименовал)
@unrealnxise3487 Жыл бұрын
Врятли кто-то прочитает, но помогите пожалуйста: У меня ошибка UserAlreadyExistException - оно его просто игнорирует и пишет просто "Ошибка", а не "Имя занято"