Spring framework ПОЛНЫЙ КУРС для начинающих 2021 REST API
HTML-код
- Опубликовано: 8 июн 2024
- В этом ролике мы сделаем Rest API на языка java с использованием фрэймворка Spring boot. Научимся использовать spring data, создать сущности и взаимодействовать с базой данных на примере субд MySQL. Научимся связывать сущности с помощью анотаций OneToMany и ManyToOne. Также поработаем с миграциями на примере Flyway
Мой курс "Продвинутый Frontend. В production на React" - ulbitv.ru/frontend
Исходный код урока - github.com/utimur/Spring-boot...
↓↓↓ПЛЭЙЛИСТЫ ↓↓↓
Собеседования -
• Собеседования
Paint online fullstack приложение canvas + websockets -
• Playlist
MobX & React -
• Mobx & React Полный ку...
Наглядная теория -
• Наглядная теория
Полный курс по Redux -
• Redux
React drag and drop -
• Drag and drop на REACT JS
React компоненты -
• ReactJS компоненты
React + Redux + Webpack
• React Redux Webpack - ...
Анимации в React -
• Анимации в React. Reac...
Разработка fullstack MERN web приложения
- Frontend - • Playlist
- Backend - • Playlist
- Fullstack - / playlistlist=pl6dxkon1...
Таймкоды:
00:00 - План на урок
00:40 - Инициализация проекта
01:40 - Проектирование диаграммы базы данных
03:20 - Первый RestController
05:50 - Взаимодействие с базой данных
08:30 - Создание User Entity
11:50 - Тестирование с помощью Postman
14:20 - User service
20:20 - Модель пользователя
24:15 - Создание Todo Entity
24:50 - Связываем сущности OneToMany ManyToOne
34:40 - Миграции базы данных с Flyway
Поддержать меня и мой канал вы можете по ссылкам ниже.
Qiwi кошелек - qiwi.com/n/BODYE821
Яндекс деньги - yoomoney.ru/to/4100116193037469 - Наука
Друзья, на моем канале большинство уроков посвящено джаваскрипту, но решил немного разбавить и снять вот такой вот ролик по созданию rest api на Spring Boot!) Приятного просмотра!
Давай больше Spring и Java! только не для начинающих!)) в остальном все супер
Объяснения вообще супер! Ничего лишнего. Побольше таких видео про Java Spring!
Можешь пожалуйста, сделать видео урок про JavaServer Faces!
Хотим больше видео про спринг и джаву 😁!! Отличный контент, хорошо падаёшь информацию!! Молодец 👏
Спасибо. Ждем еще по Spring и Java
учитель от бога! подача супер. ни одного слова лишнего. концентрация полезной информации на секунду хронометража зашкаливает.
Ульби, просто спасибо что ты есть. Если бы не ты я бы не знаю как бы понимал все эти штуки
Как всегда лучший) Зашёл на 2 мин посмотреть, в чём суть видео, в итоге просмотрел полностью. Так держать!
Круто же!)) спасибо!
Большое спасибо за это прекрасное видео! Сухо, быстро, и по делу. Получил нужную информацию и удовольствие от преподнесения информации😊
Не знаю почему - но вот как то ппц всё понятно становится когда посмотрел этот урок! Спасибо - очень-очень хороший урок!
Бро, ты крут. Такой компактности по всем интересующим меня вопросам я еще нигде не встречал. Спасибо за труды и давай ещё!!
@Ulbi Tv ! это лучшее что я видел про спринг ! Отличная, понятная, актуальная информация… Всем рекомендую!!
Делай ещё видео по джаве и спринг
Лучший! Долго искал как сделать свой api и случайно вообще наткнулся. Всё по делу, понятно, быстро, без воды. Спасибо большое! По больше бы таких видео в русскоязычном ютубе
Супер видео, сразу стало всё понятно как работает Spring Boot и REST. Спасибо большое!
Такое четкое объяснение и все поделу без всяких заиканий спасибо тебе
Четко архитектурно правильно и очень доходчиво. Самое что понравилось не размазано и все по делу. Записывай еще.
очень полезное и нужное видео, как раз хочу освоить этот фреймворк) спасибо большое!
Спасибо!) Мало кто спринг на канале у меня смотрит))
Бро, отдельное спасибо, много понял, что не понимал... а так же немного понял того что нужно подучить. Но по поводу виде, все понятно и шикарно!!! от души спасибо!!! чистого кода тебе!
Охуительный урок 👍👍👍👍 я вообще не был знаком sping boot но здесь я получил ответы на все свои вопросы. Спасибо
Спасибо за видео. На проекте надо было создать стаб для сервисов, а я автоматизатор. Никогда такого не делал. Твоё видео дало мне направление. Ещё раз спасибо.
Красавчик! Больше контента по серверной разработке по Java ^^
Очень классно объясняешь, сам учусь на программиста, решил сделать всё точно так же как ты делаешь в видео в качестве практики. Мне пока сложно удается понять все, но надеюсь это нормально а не я дно...
Тимур, Спасибо за видео) как всегда очень информативно)
Спасибо большое!)
Очень хороший подробный урок, спасибо огромное!!
Это было круто. Осталось со всем разобраться
Бро, твоя подача материала настолько шикарна, что после получасового урока про БД я решил посмотреть и этот курс 😁💪
Ахахахах!) как я рад это слышать, спасибо бро!)
У тебя хорошо получается, так продолжай же выпускать ролики по спрингу!)
Спасибо что без ломбок, полезное видео! Хотелось бы ещё про свагер для этих апи
что не так с ломбок
Спасибо большое за труд. Очень полезный урок!
Если не доебываться до терминологии (в Java не функции, а методы), то просто 10/10. Четко, ясно, по делу, без воды.
Очень крутая подача материла, спасибо большое
бро красава спасибо тебе, продолжай в этом духе мы с тобой)
Спасибо за урок, очень ценная информация
Спасибо за видео!
На мой взгляд, урок получился полезный. Единственное, хотелось бы еще +юниттесты в конце.
Что то на эльфийском..)
Как всегда без лишнего... все по теме ... респект и уважуха!
35:26 сегодня советую заменить...
18 compile(*)
на
18 implementation 'org.flywaydb:flyway-core:5.2.3'
Спасибо!
Давай еще проектов и роликов на Java)
Скажу честно - это единственное толковое видео по Spring Boot во всем интернете, включая и русский и англоязычный интернет. Я просто не понимаю почему в Ютубе нет толковых видео курсов по Spring и Spring Boot. Ведь это один из самых популярных и самых старых фреймворков. Ну это же издевательство когда тебе показывают какой то Eclipse и Maven. Я смотрел индийского блогера Telusco, он - самый толковый индийский блогер, но за 5 часов он объяснил меньше чем вы за час. При этом ничего не сказал ни про сервис ни про репозиторий. А многочасовые рассказы про Hibernate и JPA не имеют никакого смысла если человек не знает файловую структуру веб приложения. Так что видео сделано на отлично, говорю как человек пересмотрвший десятки видео на эту тему как на английском так и на русском языке. Спасибо за хорошую работу
Спасибо! Рад стараться
я тоже смотрел много видео и рускоязычных в основном - соглашусь с вами - это лучшее, еще amigoscode вроде бы
@@UlbiTV а что бы вы посоветовали сейчас по бекенду, я перекинулся на nest.js - правильный ли я выбор сделал? нравится JS-TS, но на springboot вроде бы всегда найдется работа, и я мыкаюсь не знаю что делать
@@user-qo7lr3yc7h та же ситуация. прошло 8 месяцев, что ты выбрал?
Спасибо за видео.Коммент в поддержку!
Спасибо тебе большое. Очень полезное видео
неожиданно, ну тогда уже ждём и микросервисы )
Думал об этом, будет наверняка)
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Спасибо за видео урок чувак! Очень полезная инфа. Будет круто если сделаешь рест апи с использованием котлин, думаю многим интересно.
КУРС БОМБА!
Круто! Спасибо тебе)
Спасибо друг!)
Не интересуюсь java, но было интересно посмотреть, интересный фрэймворк!)
Спасибо!)
Прикольно, у автора есть бэкэнд на спринге и на нодеjs, интересно что-бы он предпочел в реальном проекте
Спасибо за отличное видео! А при оборачивании энтити в модель ведь паттерн проектирования используется? Подозреваю что прокси, или это не верно?
Улби, дороу, слушай, а не можешь плз записать по возможности какой-нибудь ещё ролик по спринге?
Присоединяюсь к комментаторам, на ютубе о нем практически вообще ничего нет 🤔
Высший пилотаж!
Такой формат заходит новичку, но если это второй-третий язык. Я после Пыхи перехожу на Жабу и мне на ура всё заходит. Находка прямо. Очень хочется увидеть туториал Java+NGINX+Docker-compose (развертывание простейшего приложения). Спасибо)
Это не для новичка. Человек уже должен знать Джабу и иметь представление о том что такое бэкэнд фреймворк, Rest API, SQL базы данных. И за один час он получает необходимые знания о том как сделать Rest API используя Spring Boot. А Computer Science за один час освоить нельзя. Автор видео сумел за час объяснить основные моменты о том как делать Rest APIs используя Spring Boot. И это была отличная работа.
спасибо, очень круто
Кому лень ставить 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
Замечательный материал. Огромное спасибо за доходчивую подачу. Единственое что, я бы простой get() из опционала не оставлял... на него и Идея ругается. orElseThrow() прикрыться и уже лучше будет.
Очень крутой видос , хочется продолжения по этому фреймворку
Спасибо!) Наврядли будет, активность маленькая)
@@UlbiTV С одного ролика тяжело накинуть активности от Java разработчиков, но по Spring Frameworks довольно мало инфы на русском. От тебя было бы прекрасно посмотреть такое
потрясающе.
Небольшой апдейт, который можно сделать для кода:
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 - это альтернативный вариант создания бина.
А так, видео просто великолепное, за что благодарю Тимура тысячекратно!
Спасибо вам огромное! На этом моменте недоумевал, почему не бросает эксепшн.
@@user-zo1xk2hk3f Все ради сообщества. Желаю удачи в дальнейшем освоении
Ого! Остапа понесло )))
Ахахаах)) почему бы и нет 😂
Лучший 👍
Super-Duper!
Отличный ролик.
Как понятно рассказать про флайвей и миграции за 1 минуту. Мастер-класс.
дружище, дай совет или ссылку на видео, как связать это дело с вью.жс или хтмл. Чтобы была комуникация между страничкой базой данных и бэкендом
Шикарно
Спасибо!
отдуши, видосик топовый
А как миграциями управлять к какой откатиться ? в Net Core по истории удалить можно
Не пишу на java но лайк оставлю
Спасибо!))
Бро где ты был раньше?) Классно преподносишь информацию...
привет! почему вы больше фокусировались на фронтенд "JavaScript" вместо бэкенда? вижу все ваш видео о MERN / Nest / React и тд..
Отличное видео ! Но почему создалась таблица USER_ENTITY , а не USERENTITY ? Откуда символ "_" , существует какое-то соглашение ?
Там где ты используешь модель, это типа DTO паттерна?
Хорошо, блин вот очень интересно было бы увидеть как это все дальше грамотно и просто разместить на VPS.
Сильно
userRepo.findById(id).get() не может выдать null, т.к. метод get помечен как not null. if не сработает
странно, почему то у меня при открытии проекта gradle в Idea все по-другому выглядит. Нет диалогового окна «Импорт проекта из Gradle» при импорте проекта Gradle. У вас какая версия Идеи? Погуглил сейчас и нашел такое объяснение на сайте JetBrains что это диалог устарел и был удален из версии 2019 года. Неужели у вас более старая версия?
Привет, Тимур! По Спрингу будут ещё видео?
Я может что-то не так делаю или не понимаю. Но в видео UserRepo не получил никакой аннотации(досмотрел пока до 14 минуты), и как его Спринг находит? У меня Autowired в Котнроллере выдает ошибку, потому что не может найти используемый Репозиторий.
спасибо
6:28, в бд обнаружена таблица sweater ))00 кто то явно смотрел и прокачивал джаву через ролики Дрю (LestCode)
Былоооо дело, было))
Как методичка, то вполне хорошее видео.
Давай еще по СПРИНГУ и веб беку
Klassnoe video
Очень классный ролик. Большое спасибо. Жаль на эту тему у вас только один ролик. с удовольствием и остальные посмотрел бы.
Но вас не смущает что user endpoint получает userEntity а возвращает User model? Как то кривовато звучит, нет? Или бест практис такой?
И еще вопросы.
2) А если нужно еще сделать чтобы можно было изменить текст todo как бы вы это лучше всего реализовать? Я к тому что PUT то уже используется для комплита.
3) А если нужно сделать изменение обьекта с несколькими полями(пользовательские данные)? Это ведь не так просто получается. Заставлять клиента присылать сразу готовый обьект не хорошо так как возможно клиент хочет поменять одно поле не касаясь других полей(на пример сменить пароль). А как лучше всего сделать что бы другие программисты не плевались?))
14:00 - после if не вижу else в проверке юзера перед созданием. Return завершает функцию без продолжения исполнения кода?
Да. Шлёт бэдреквест в браузер, и вместо страницы будет ошибка из 400-х,
А кто может подсказать. Вот это размещение в разных пакетах и т.д. Это же архитектура. А какую архитектуру использует автор? Есть же какое-то название или тип того
Привет. А уроки по react native будут?
Привет, да, готовлю курс, но он будет позже!
у меня не срабатывает V2_ADD_DESC_COL.SQL, таблица не заполняется значением value
Еще бы из докера с БД работать.... и ломбок
А еще по джаве будет что?)
Ставить mySQL в папку Programs Files не хорошая идея. Все сторонние проги не нужные для для самой винды, типа офис, зип и тд рисовалки .... надо ставить отдельно, желательно в отдельную папку в корне С или в корне другого диска.
Некоторые и mySQL в том числе, вы никогда не удалите подчистую... только форматирование. Не один "удалитель" не удалит mySQL или скажем IDE Эклипс...
Жаль не реализована работа с классом dto, не могу что-то реализовать его нормально. Еще будут туториалы по усложнению данного rest приложения ?))
Зависит от активности под видео) если тема спринга неинтересна людям, то и снимать смысла нет
@@UlbiTV как уж не интересна )) в интернете практически нет современных реализаций rest spring boot на русском
если ставить ччерез Mavin то все также?
да
Я нихера не понял.
Может, для того, чтобы вопросов было меньше, нужно было что-то ещё посмотреть?
Почему сборщик проекта не Maven?
а что не так?
Врятли кто-то прочитает, но помогите пожалуйста: У меня ошибка UserAlreadyExistException - оно его просто игнорирует и пишет просто "Ошибка", а не "Имя занято"
первый рест контроллер и оно не запускается. что то вы не досказали
поможет тем у кого на миграции вылезала ошибка после интеграции flyway
Обратите внимание, что конфигурации compile, runtime, testCompile и testRuntime, представленные подключаемым модулем Java, устарели с момента появления Gradle 4.10 (август 27, 2018) и были окончательно удалены в Gradle 7.0 < / a> ( 9 апреля 2021 г.).
Вышеупомянутые конфигурации следует заменить на implementation, runtimeOnly, testImplementation и testRuntimeOnly соответственно.
(с) ashelkov
Я пробовал с implementation, ошибки нет, но Flyway не создает таблиц. У вас получилось настроить?
Привет автор, заочно лайк, на жабу мне рано прыгать, я еще JS не освоил так как надо. НО уверен что интерстно, перед сном можно и глянуть для общего развития.
Привет!) На х2 для общего развития действительно глянуть можно!)
используй lombok что бы не создавать getter и setter
я сделал все так же как на видео , но страница все равно выдает ошибку "Whitelabel Error Page" , что делать ?
такая же ошибка, разобрался?
Хороший видос, но мне кажется надо переименовать. Это скорее хороший HOW-TO in Spring (может даже такую рубрику сделаешь и не обязательно in Spring). Все-таки Spring-Boot это больше про кучу автоконфигураторов которые строят весь контекст из кучи бинов. А так все гут, как говориться Афтор Пиши Есчо.
Спасибо!) согласен полностью, переименовал)
что значит invalid source release: 11????
Просто при скачке проекта в спринт инициализатор укажи не джава 11, а джава 8:)
Спасибо
Очень классное видео. Все получилось как ты показал, но застрял в конце с внедрением Flyway. Не могу запустить весь код если есть в зависимостях flyway. В конце выдает ошибку что не поддреживается MySQL Server 8.0. Как можно решить?
Все, я нашел свою ошибку