Spring Boot. Разрабатываем веб-приложение с нуля. Добавляем функционал для работы с товарами
Вставка
- Опубліковано 28 вер 2024
- Это второе видео в цикле роликов, которые посвящены моему бесплатному курсу по разработке веб приложения buysell с абсолютного нуля. В этой лекции мы добавили небольшой функционал для работы с товарами. В следующей лекции мы добавим поддержку базы данных. Если вам понравилось видео и вы хотите меня поддержать, то можете поставить лайк 👍
- Мои соцсети:
- VK: artmcoder
- instagram: / artmcoder
- Исходный код проекта: github.com/art...
- Поддержать канал: 5469 3100 1888 1702 (СБЕР)
Ребятки всем ещё раз пламенный привет 🔥🔥🔥
Пишу этот комментарий спустя год после публикации этого урока. Хотел сказать, что я возвращаюсь с новыми знаниями и опытом!
🎁 Также подписывайтесь на мой Instagram и пишите «+» в директ, я отправлю вам БЕСПЛАТНЫЙ видеоурок по программированию и чек-лист со списком всех технологий, с пошаговым планом их изучения, для становления junior java разработчиком.
instagram.com/artmcoder
подскажите пожалуйста это интернет магазин будет ?
Неужели нормально сделанный pet-проект, и с ссылкой на гит, и с ветками по каждому уроку, и даже работает, побольше бы таких).
Подробно, но без лишней воды. Качественно, понятно ) Спасибо, ждем продолжений (темп взят высокий!)
Очень понравился урок! Жду лекцию про базу данных.
Вааааау, очень интересно и познавательно! Спасибо!
Спасибо за урок! Было очень познавательно!
Хотелось бы больше объяснений действий консолидированных, а то идея уроков весьма хорошая, но по факту просто приходится смотреть как Вы код пишете и на этом все
пройди сначала курс от Наиля Алишева, там поймешь все основы работы с паттерном MVC, поймешь инверсию управления, DAO, CRUD, WEB на спринг и тд, потом уже к переходи к Boot. Я тоже с этих видео начал изучать спринг, ничего не понял, у меняя ничего не выходило, сейчас вернулся, всё отлично понимаю. Серия видео бомба для тех, у кого уже есть какой-никакой опыт разработки на Spring.
@@МихаилЕлуферьев-и6е я проходил эти курсы, между делом, они не самые сильные, но для бесплатных подойдут. Тут больше вопрос к тому же html, я его вообще не касался и мне было бы информативно услышать почему какие теги используются. То что касается самой джавы понятно, но просто в целом по видео информации очень мало, в основном код, который я могу найти на любом форуме и так же переписать) а вроде как автор преследует цель обучить, в этом вся фишка
Зайди к «Сельскому Джависту» на такой же курс, и пойми что здесь все просто разжевывают)
@@ИльяКоваленко-л8ц я ушел уже далеко вперед, курсы наиля это чисто пощупать любую технологию на базовом уровне. Здесь же идет много фронта, насколько я помню. фронт как таковой бэки поверхностно изучают, именно поэтому большая часть роликов, основанная на фронте это просто копипаст кода
Видео по созданию сайта на Java топ! Я на время забрасывал программирование, но теперь по этим видосам легко вспомнить все ключевые моменты. Очень полезная шпаргалка! Респект автору
очень круто, спасибо, все заработало🎉🎉🎉
почему не использует html файл вместо ftlh?
Отличный урок.
Супер, огромное спасибо!!!!!
Подскажите пожалуйста кто знает, почему при нажатии на кнопку добавить товар, возникает ошибка 400?
Автор привет! в файлах FTLH в теге
Здравствуйте, у меня такая же ошибка, как вы исправили это?
@@aruzhankuanysh7808 никак и автор молчит
Насколько я понял FreeMarker перестали поддерживать . Можно использовать другие шаблонизаторы по типу thymeleaf
и т.д.
У меня такая же проблема, однако можно её игнорировать, так как прога нормально это переварит. Главное, чтобы имена атрибутов совпадали что в ftlh, что в контроллере.
У меня выбрасывается ошибка в браузере " Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Aug 04 14:19:46 AZT 2023
There was an unexpected error (type=Not Found, status=404)."
у автора всё работает, где то мы ошиблись. скачал его проект с гита
у меня была такая ошибка, проблема была в том, что implementation 'org.springframework.boot:spring-boot-starter-freemarker' была закомменчена, мелочь, но вдруг кому поможет( если что это gradle, а не maven, но суть та же) а так, ошибки могут быть и в самом коде, просто не такое название и тд
Это скорее всего из за примитивов, используйте Long вместо long
Кто может помочь? У меня после пост запроса в файле ftml , после того как в форме ввел данные на страничке после нажатия на кнопку выходить ошибка 404 , а путь на саму страничку не локалхост 8080 , а 63372/название проекта/файл/и много символов после "?" , а после нажатия на кнопку переходит по путу которая должна быть изначально
круто давай еще прям с удовольствием поработал
почитал коменты, урок действительно отличный, огромное спасибо.
но у меня вылазит ошибка при проверке на equals в методе делит и продукт инфо. Почему метод гетАйди дает выполнить, но после него ничего нельзя добавить. Если поняли, что я написал сверху, подскажите пожалуйста решение
Спасибо
Возможно, где то ты используешь Long, а где то long
Спасибо за урок, самый понятный из всех что я видел, в видел я многое.
Не согласен с вами на 8:30 идентификатор id не является константой, его значение изменяется от продукта к продукту, возможно переменную стоило бы назвать nextId, дабы она лучше отражала своё назначение. С другой стороны это поле было временным решением до подключения базы, поэтому, возможно, такие замороки и не нужны.
Да. Константой называют поле, которое не изменяет своё значение и является final.
что делать с данной ошибкой?
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
У меня была опечатка в слове Prduct - "o"
Проверьте класс Product, возможно Long указан примитивом. Не знаю почему, но не проходит так)
@@MrSashaZykov Если бы не ваш ответ, так бы и не нашла ошибку. Спасибо!
скажите спрингбут популярен еще сейчас
Спасибо! Было бы круто, если бы объяснял больше о взаимосвязях между методами, и у меня в файлах FTLH не предлагают переменные которые объявлены в контроллере... Есть идеи?
Насколько я понял FreeMarker перестали поддерживать . Можно использовать другие шаблонизаторы по типу thymelefe и т.д.
У меня такая же проблема, однако можно её игнорировать, так как прога нормально это переварит. Главное, чтобы имена атрибутов совпадали что в ftlh, что в контроллере.
Спасибо за ролики, идея создания магазина с нуля очень хорошая. Но если люди начинают обучаться у них скорее всего нет купленной IntelliJ IDEА и поэтому у них нет встроенного Apache FreeMarker - (14:52) и как его прикрутить к проекту тоже непонятно. Если вы действительно хотите создать обучающий ролик то именно такие мелочи большая просьба рассказать, иначе на этом месте обучение заканчивается...
У меня нет платной версии, я просто создал файл с расширение .ftlh и повторял за автором. Конечно без плагина не так быстро, но зато запоминается лучше
у меня пишет ошибка, что Id (при создании товара) равен null, потому выскакивает это
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Mar 16 21:02:30 MSK 2024
There was an unexpected error (type=Bad Request, status=400).
помогите кто исправил это!
исправил?
проблема скорее всего в service
я решил проблему
@@tortik1488 как вы решили проблему?
@@tortik1488 как ты это сделал, скажи пожалуйста?
Спасибо огромное за такие понятные уроки !
У меня почему то ничего не добавляется и ничего не удаляется, не могу понять почему(
тоже долбился с методом креат, решил проблему, могу помочь
Видео замечательные. А почему шаблонизатор не thymeleaf например ?)
Здраствуйте! Я рад, что видео вам понравилось. Thymeleaf мне кажется довольно сложен для новичков, нежели чем freemarker. Уверен, что thymeleaf буду использовать в следующих курсах
А разве нам не нужно прописывать в форме, какой объект оно должно создавать?
Вернее как оно понимает что мы работаем в форме именно с product?
К примеру th:object=${product}
День добрый, можно ли сверстать страницу сайта, и вставить её в IDEA? или как можно Верстку вставить в spring boot?
Спасибо тебе дружище! Офигенную работу делаешь)
super. Thanks, bro. :)
Спасибо огромное за урок!
Была ошибка с Whitelabel Error Page, появлялась только при попытке добавить и удалить товар. Удалось решить, после того как перевела весь проект на Java 11. (Ранее был 17)
как ты это сделала?
топ ! Куда пропал?
спасибо
Спасибо большое за видео!
Спасибо!
Спасибо большое за урок! Как раз то что нужно новичку (наверное 😄), когда прошла самостоятельно курсы с задачами и хочется сделать свой проектик)
Подскажите пожалуйста, запустила, в браузере все отображается, заполнить форму могу, но товар новый не добавляется и не удаляется старый, из-за чего может быть? вроде бы пересмотрела ролик, код написан так же, может что упустила
Зашла на гит, сравнила, ошибка была в строке
" - после create отсутствовала
form - было написано как from , и еще не закрыто тегом
кнопки заработали, но теперь выдает ошибку при удалении и при добавлении товара
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback
Sat Mar 25 20:33:51 YEKT 2023
There was an unexpected error (type=Method Not Allowed, status=405)
указала PatchMapping вместо @PostMapping, исправила)
сломалось все ....
я там и в остальных документах прошлась, код повсталяла построчно что бы сверить изменения, после этого текст что снизу было ...
откатила изменения и исправила чисто @PostMapping , все заработало)
Спасибо за урок, отличное видео!
Класс, я в восторге от 1 и 2 видео! создаю по ним свой пет проэкт. Очень просто и доходчиво обьясняете,пока все понятно.!!! Заполняю пробелы в знаниях . Спасибо большое!! новенькое и толковое !!!И главное без H2O😂😂😊😊😊😊 Есть еще и плюшка, получу базовые знания по фронту 😍😍😍😍
Боюсь перехвалит. Но пока всё работает. И всё вроде достаточно понятно. Спасибо!
Всё ок, разобрался. Лишний слэш был в редиректе.
А как ты получаешь доступ к private переменным из класса Product? по правилам инкапсуляции, модификаторы private закрывают доступ для других классов
Lombok сам за нас создаёт getters и setters для каждого из полей. Мы просто этого не видим)
А в контроллере метод getProductById можно же и так написать и будет тоже самое?
public Product getProductById(Long id) {
return products.stream()
.filter(product -> product.getId().equals(id)).findFirst()
.orElse(null);
}