Spring Boot. Разрабатываем веб-приложение с нуля. Добавляем функционал для работы с товарами

Поділитися
Вставка
  • Опубліковано 28 вер 2024
  • Это второе видео в цикле роликов, которые посвящены моему бесплатному курсу по разработке веб приложения buysell с абсолютного нуля. В этой лекции мы добавили небольшой функционал для работы с товарами. В следующей лекции мы добавим поддержку базы данных. Если вам понравилось видео и вы хотите меня поддержать, то можете поставить лайк 👍
    - Мои соцсети:
    - VK: artmcoder
    - instagram: / artmcoder
    - Исходный код проекта: github.com/art...
    - Поддержать канал: 5469 3100 1888 1702 (СБЕР)

КОМЕНТАРІ • 76

  • @artmcoder
    @artmcoder  Рік тому +4

    Ребятки всем ещё раз пламенный привет 🔥🔥🔥
    Пишу этот комментарий спустя год после публикации этого урока. Хотел сказать, что я возвращаюсь с новыми знаниями и опытом!
    🎁 Также подписывайтесь на мой Instagram и пишите «+» в директ, я отправлю вам БЕСПЛАТНЫЙ видеоурок по программированию и чек-лист со списком всех технологий, с пошаговым планом их изучения, для становления junior java разработчиком.
    instagram.com/artmcoder

    • @Neo-w6q
      @Neo-w6q 5 місяців тому

      подскажите пожалуйста это интернет магазин будет ?

  • @asgzxbaasg9766
    @asgzxbaasg9766 Рік тому +3

    Неужели нормально сделанный pet-проект, и с ссылкой на гит, и с ветками по каждому уроку, и даже работает, побольше бы таких).

  • @faniskhalikov9736
    @faniskhalikov9736 2 роки тому +6

    Подробно, но без лишней воды. Качественно, понятно ) Спасибо, ждем продолжений (темп взят высокий!)

  • @sheldaniil
    @sheldaniil 2 роки тому +7

    Очень понравился урок! Жду лекцию про базу данных.

  • @sofaluy73
    @sofaluy73 2 роки тому +7

    Вааааау, очень интересно и познавательно! Спасибо!

  • @ОльгаБожедомова-у5ш

    Спасибо за урок! Было очень познавательно!

  • @howscwerna
    @howscwerna 7 місяців тому +2

    Хотелось бы больше объяснений действий консолидированных, а то идея уроков весьма хорошая, но по факту просто приходится смотреть как Вы код пишете и на этом все

    • @МихаилЕлуферьев-и6е
      @МихаилЕлуферьев-и6е 7 місяців тому +1

      пройди сначала курс от Наиля Алишева, там поймешь все основы работы с паттерном MVC, поймешь инверсию управления, DAO, CRUD, WEB на спринг и тд, потом уже к переходи к Boot. Я тоже с этих видео начал изучать спринг, ничего не понял, у меняя ничего не выходило, сейчас вернулся, всё отлично понимаю. Серия видео бомба для тех, у кого уже есть какой-никакой опыт разработки на Spring.

    • @howscwerna
      @howscwerna 7 місяців тому

      @@МихаилЕлуферьев-и6е я проходил эти курсы, между делом, они не самые сильные, но для бесплатных подойдут. Тут больше вопрос к тому же html, я его вообще не касался и мне было бы информативно услышать почему какие теги используются. То что касается самой джавы понятно, но просто в целом по видео информации очень мало, в основном код, который я могу найти на любом форуме и так же переписать) а вроде как автор преследует цель обучить, в этом вся фишка

    • @ИльяКоваленко-л8ц
      @ИльяКоваленко-л8ц 2 місяці тому

      Зайди к «Сельскому Джависту» на такой же курс, и пойми что здесь все просто разжевывают)

    • @howscwerna
      @howscwerna 2 місяці тому

      @@ИльяКоваленко-л8ц я ушел уже далеко вперед, курсы наиля это чисто пощупать любую технологию на базовом уровне. Здесь же идет много фронта, насколько я помню. фронт как таковой бэки поверхностно изучают, именно поэтому большая часть роликов, основанная на фронте это просто копипаст кода

  • @SPECTRE5
    @SPECTRE5 Рік тому +10

    Видео по созданию сайта на Java топ! Я на время забрасывал программирование, но теперь по этим видосам легко вспомнить все ключевые моменты. Очень полезная шпаргалка! Респект автору

  • @vs2303
    @vs2303 4 місяці тому

    очень круто, спасибо, все заработало🎉🎉🎉

  • @ЖорикВартанов-б9т
    @ЖорикВартанов-б9т 4 місяці тому +1

    почему не использует html файл вместо ftlh?

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

    Отличный урок.

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

    Супер, огромное спасибо!!!!!

  • @ИмяФамилия-з3ш4п
    @ИмяФамилия-з3ш4п 2 місяці тому

    Подскажите пожалуйста кто знает, почему при нажатии на кнопку добавить товар, возникает ошибка 400?

  • @saimonstout3062
    @saimonstout3062 Рік тому +4

    Автор привет! в файлах FTLH в теге

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

      Здравствуйте, у меня такая же ошибка, как вы исправили это?

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

      @@aruzhankuanysh7808 никак и автор молчит

    • @ВладШкабара-ю7ч
      @ВладШкабара-ю7ч Рік тому

      Насколько я понял FreeMarker перестали поддерживать . Можно использовать другие шаблонизаторы по типу thymeleaf
      и т.д.

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

      У меня такая же проблема, однако можно её игнорировать, так как прога нормально это переварит. Главное, чтобы имена атрибутов совпадали что в ftlh, что в контроллере.

  • @mansurmamedov6041
    @mansurmamedov6041 Рік тому +2

    У меня выбрасывается ошибка в браузере " 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)."

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

      у автора всё работает, где то мы ошиблись. скачал его проект с гита

    • @МаринаСаввинова-ъ2р
      @МаринаСаввинова-ъ2р 8 місяців тому

      у меня была такая ошибка, проблема была в том, что implementation 'org.springframework.boot:spring-boot-starter-freemarker' была закомменчена, мелочь, но вдруг кому поможет( если что это gradle, а не maven, но суть та же) а так, ошибки могут быть и в самом коде, просто не такое название и тд

    • @АртемЕ-ъ3б
      @АртемЕ-ъ3б 8 місяців тому

      Это скорее всего из за примитивов, используйте Long вместо long

  • @ЮТУБПЛЮС-ш3ь
    @ЮТУБПЛЮС-ш3ь 5 місяців тому

    Кто может помочь? У меня после пост запроса в файле ftml , после того как в форме ввел данные на страничке после нажатия на кнопку выходить ошибка 404 , а путь на саму страничку не локалхост 8080 , а 63372/название проекта/файл/и много символов после "?" , а после нажатия на кнопку переходит по путу которая должна быть изначально

  • @Куралбек111
    @Куралбек111 2 роки тому

    круто давай еще прям с удовольствием поработал

  • @kxeklom
    @kxeklom 10 місяців тому

    почитал коменты, урок действительно отличный, огромное спасибо.
    но у меня вылазит ошибка при проверке на equals в методе делит и продукт инфо. Почему метод гетАйди дает выполнить, но после него ничего нельзя добавить. Если поняли, что я написал сверху, подскажите пожалуйста решение
    Спасибо

    • @Неслучайный
      @Неслучайный 4 місяці тому

      Возможно, где то ты используешь Long, а где то long

  • @whoamixrun3851
    @whoamixrun3851 Рік тому +6

    Спасибо за урок, самый понятный из всех что я видел, в видел я многое.

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

    Не согласен с вами на 8:30 идентификатор id не является константой, его значение изменяется от продукта к продукту, возможно переменную стоило бы назвать nextId, дабы она лучше отражала своё назначение. С другой стороны это поле было временным решением до подключения базы, поэтому, возможно, такие замороки и не нужны.

    • @artmcoder
      @artmcoder  2 роки тому +2

      Да. Константой называют поле, которое не изменяет своё значение и является final.

  • @victoriaqueen577
    @victoriaqueen577 Рік тому +2

    что делать с данной ошибкой?
    Whitelabel Error Page
    This application has no explicit mapping for /error, so you are seeing this as a fallback.

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

      У меня была опечатка в слове Prduct - "o"

    • @MrSashaZykov
      @MrSashaZykov Рік тому +6

      Проверьте класс Product, возможно Long указан примитивом. Не знаю почему, но не проходит так)

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

      @@MrSashaZykov Если бы не ваш ответ, так бы и не нашла ошибку. Спасибо!

  • @ровойт
    @ровойт Рік тому +1

    скажите спрингбут популярен еще сейчас

  • @TheEBPO
    @TheEBPO Рік тому +3

    Спасибо! Было бы круто, если бы объяснял больше о взаимосвязях между методами, и у меня в файлах FTLH не предлагают переменные которые объявлены в контроллере... Есть идеи?

    • @ВладШкабара-ю7ч
      @ВладШкабара-ю7ч Рік тому

      Насколько я понял FreeMarker перестали поддерживать . Можно использовать другие шаблонизаторы по типу thymelefe и т.д.

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

      У меня такая же проблема, однако можно её игнорировать, так как прога нормально это переварит. Главное, чтобы имена атрибутов совпадали что в ftlh, что в контроллере.

  • @audiobooks_with_translation
    @audiobooks_with_translation 2 роки тому +6

    Спасибо за ролики, идея создания магазина с нуля очень хорошая. Но если люди начинают обучаться у них скорее всего нет купленной IntelliJ IDEА и поэтому у них нет встроенного Apache FreeMarker - (14:52) и как его прикрутить к проекту тоже непонятно. Если вы действительно хотите создать обучающий ролик то именно такие мелочи большая просьба рассказать, иначе на этом месте обучение заканчивается...

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

      У меня нет платной версии, я просто создал файл с расширение .ftlh и повторял за автором. Конечно без плагина не так быстро, но зато запоминается лучше

  • @bogdebogde6046
    @bogdebogde6046 6 місяців тому +1

    у меня пишет ошибка, что 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).
    помогите кто исправил это!

    • @tortik1488
      @tortik1488 5 місяців тому

      исправил?

    • @tortik1488
      @tortik1488 5 місяців тому

      проблема скорее всего в service

    • @tortik1488
      @tortik1488 5 місяців тому

      я решил проблему

    • @overskam2699
      @overskam2699 27 днів тому

      @@tortik1488 как вы решили проблему?

    • @overskam2699
      @overskam2699 21 день тому

      @@tortik1488 как ты это сделал, скажи пожалуйста?

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

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

  • @a7p751
    @a7p751 11 місяців тому +1

    У меня почему то ничего не добавляется и ничего не удаляется, не могу понять почему(

    • @tortik1488
      @tortik1488 5 місяців тому

      тоже долбился с методом креат, решил проблему, могу помочь

  • @yauhentsaryk1156
    @yauhentsaryk1156 2 роки тому +5

    Видео замечательные. А почему шаблонизатор не thymeleaf например ?)

    • @artmcoder
      @artmcoder  2 роки тому +3

      Здраствуйте! Я рад, что видео вам понравилось. Thymeleaf мне кажется довольно сложен для новичков, нежели чем freemarker. Уверен, что thymeleaf буду использовать в следующих курсах

  • @antonbondar4083
    @antonbondar4083 11 місяців тому

    А разве нам не нужно прописывать в форме, какой объект оно должно создавать?
    Вернее как оно понимает что мы работаем в форме именно с product?
    К примеру th:object=${product}

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

    День добрый, можно ли сверстать страницу сайта, и вставить её в IDEA? или как можно Верстку вставить в spring boot?

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

    Спасибо тебе дружище! Офигенную работу делаешь)

  • @ВасильМихальчук-ж7т

    super. Thanks, bro. :)

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

    Спасибо огромное за урок!
    Была ошибка с Whitelabel Error Page, появлялась только при попытке добавить и удалить товар. Удалось решить, после того как перевела весь проект на Java 11. (Ранее был 17)

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

      как ты это сделала?

  • @майклавов
    @майклавов 2 роки тому +1

    топ ! Куда пропал?

  • @dmaberlin
    @dmaberlin 10 місяців тому

    спасибо

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

    Спасибо большое за видео!

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

    Спасибо!

  • @РегинаУсманова-ж3г

    Спасибо большое за урок! Как раз то что нужно новичку (наверное 😄), когда прошла самостоятельно курсы с задачами и хочется сделать свой проектик)
    Подскажите пожалуйста, запустила, в браузере все отображается, заполнить форму могу, но товар новый не добавляется и не удаляется старый, из-за чего может быть? вроде бы пересмотрела ролик, код написан так же, может что упустила

    • @РегинаУсманова-ж3г
      @РегинаУсманова-ж3г Рік тому

      Зашла на гит, сравнила, ошибка была в строке
      " - после 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)

    • @РегинаУсманова-ж3г
      @РегинаУсманова-ж3г Рік тому

      указала PatchMapping вместо @PostMapping, исправила)
      сломалось все ....

    • @РегинаУсманова-ж3г
      @РегинаУсманова-ж3г Рік тому

      я там и в остальных документах прошлась, код повсталяла построчно что бы сверить изменения, после этого текст что снизу было ...
      откатила изменения и исправила чисто @PostMapping , все заработало)

  • @ascar66
    @ascar66 2 роки тому +2

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

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

    Класс, я в восторге от 1 и 2 видео! создаю по ним свой пет проэкт. Очень просто и доходчиво обьясняете,пока все понятно.!!! Заполняю пробелы в знаниях . Спасибо большое!! новенькое и толковое !!!И главное без H2O😂😂😊😊😊😊 Есть еще и плюшка, получу базовые знания по фронту 😍😍😍😍

  • @Scruner-7
    @Scruner-7 2 роки тому

    Боюсь перехвалит. Но пока всё работает. И всё вроде достаточно понятно. Спасибо!
    Всё ок, разобрался. Лишний слэш был в редиректе.

  • @МарХ-п2х
    @МарХ-п2х 2 роки тому

    А как ты получаешь доступ к private переменным из класса Product? по правилам инкапсуляции, модификаторы private закрывают доступ для других классов

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

      Lombok сам за нас создаёт getters и setters для каждого из полей. Мы просто этого не видим)

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

    А в контроллере метод getProductById можно же и так написать и будет тоже самое?
    public Product getProductById(Long id) {
    return products.stream()
    .filter(product -> product.getId().equals(id)).findFirst()
    .orElse(null);
    }