Создание CRUD приложения на языке Java с помощью Spring

  Рет қаралды 162,345

Eugene Suleimanov

Eugene Suleimanov

8 жыл бұрын

=================================================================
Мой сайт:
proselyte.net/
=================================================================
Ссылка на исходный код проекта:
proselyte.net/wp-content/uploa...
=================================================================
В этом видео мы создадим простое CRUD приложение на языке программирования Java.
Мы будем использовать такие технологии, как:
- Spring
- Hibernate
- Maven
Нам понадобится:
- Intellij IDEA
- MySQL Workbench
- Tomcat 8

Пікірлер: 518
@user-tg3wl8yj3i
@user-tg3wl8yj3i 3 жыл бұрын
Видео актуально даже в 2021 года... Очень круто... Спасибо!
@bagzhansadvakassov1093
@bagzhansadvakassov1093 2 жыл бұрын
Как раз подумал актуально ли. Спс за комментарий.
@AlejandroFedorov
@AlejandroFedorov 2 жыл бұрын
и что здесь актуального? написание конфигов в xml файлах? ахринеть как актуально в 2021
@kuzd4niil
@kuzd4niil 2 жыл бұрын
@@AlejandroFedorov а что посоветуете? На русском мало качественного материала. Всё качественное на английском
@Antares19871
@Antares19871 2 жыл бұрын
@@AlejandroFedorov А как же поддержка старого кода?
@paveldemidov9623
@paveldemidov9623 7 жыл бұрын
Благодарю за добротный учебный материал, все представлено в кратком насыщенном формате, без всяких разглагольствований, что позволяет усвоить быстро материал.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Павел. Спасибо за отзыв :)
@maksimgulin384
@maksimgulin384 7 жыл бұрын
спасибо автору, очень качественное видео, детально описывающие весь процесс. в ру Ютубе, не хватает качественного контента по Spring. Так же посмотрел ваш сайт, это просто кладец знаний :) Еще раз спасибо!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Максим :) Рад, что материал оказался полезным.
@user-dx9sw2kt5f
@user-dx9sw2kt5f 5 жыл бұрын
Спасибо огромное за вклад в наше обучение, это именно то, что я искал
@eugeneneo834
@eugeneneo834 7 жыл бұрын
Спасибо! Видео просто отличное! Респект!! Посмеялся над фразой при создании JSP: "Мы не фрондэндчики... создаем на грани говнокода" =)))
@lexjust
@lexjust 7 жыл бұрын
Огромное спасибо за видео. Очень помогает в изучении Spring'a. Ждём подобных уроков!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста. Алекей. Работаю )
@sergdefault
@sergdefault 8 жыл бұрын
Отличное видео, давно искал нечто подобное. Перечитал материалы на вашем сайте про Spring и Hibernate и многое стало понятно. Ваш ресурс мне ооочень понравился.
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Сергей Цымбалюк Спасибо за отзыв. ) Рад, что Вам это пригодилось.
@zedsdeadbaby384
@zedsdeadbaby384 7 жыл бұрын
Самый классный видос по практике spring mvc на русском!
@user-tt3vu5ob7g
@user-tt3vu5ob7g 2 жыл бұрын
Отличное видео, с первого раза сложно для новичка, но со второй попытки разберусь! Благодарю за знания, Евгений!
@EugeneSuleimanov
@EugeneSuleimanov 2 жыл бұрын
Спасибо за отзыв!
@maxmaroff260
@maxmaroff260 4 жыл бұрын
Спасибо огромное!!! Очень полезное видео! Всех благ Вам!!!!
@AndreyDelay
@AndreyDelay 3 жыл бұрын
Большое огромное за урок, уже 3 раза посмотрел!!)) Огонь!
@MrPushcart
@MrPushcart 6 жыл бұрын
Супер. Приятно смотреть как работает профессионал
@eugene5327
@eugene5327 6 жыл бұрын
Будет хорошо, если этот комментарий окажется в топе и поможет всем остальным сэкономить время на осознании некоторых вещей 1) Все проблемы, с которыми вы столкнулись уже разжеваны в комментариях, сразу перечитайте все а потом уже думайте над тем, что писать в комментариях. 2) Если что-то не получается, значит вы делаете что-то не так, пересмотрите еще раз видео и пересмотрите что сделали сами. Без ошибок никуда, благодаря ошибкам получается лучше разобрать материал, я и сам подзависал во многих местах и разобрал много моментов, которые я бы реально упустил, не будь там ошибки. 3) Насчет "особых настроек" (насчет особых настроек была шутка, но многие ее не поняли) и начальных файлов - автор использует версию IDE 2014 года, там автоматически создается шаблон приложения, в последующих версиях этого нету. Скачайте эту версию и все, проблемы не будет. Но эти шаблоны не так сильно и нужны, т.к. по сути мы все создаем сами, проделать это все можно на любой версии, главное понимать как собирается проект через Maven. 4) Насчет подключения базы данных - там у многих проблема с подключением к базе, проверьте, установлен ли у вас сервер MySQL, а лучше найдите инструкцию полной установки переустановите заново и просмотрите чтобы был запущен сервер в Workbench. Если ошибка до сих пор есть с подключением, то посмотрите создали ли базу данных с таблицами в правильном месте и правильно ли настроили подключение в коде. И самое главное: Эти два видео у автора (web-приложения) - единственные видео в русском сегменте где замечательно все объясняется. Поймете это ближе к концу видео. Евгений, благодарю за видеоуроки и за хорошую подборку материала на сайте, они очень помогли!
@user-um8ek9dq1k
@user-um8ek9dq1k 6 жыл бұрын
Вот ссылка на полный пакет со всем нужным для MySQL разработки dev.mysql.com/downloads/windows/installer/5.7.html
@kosbarable
@kosbarable 5 жыл бұрын
за 2 года всё так поменялось... и IDE и Workbench, что теперь остаётся только: "всё хуйня, давай по новой" что называется)
@user-yk8cd1wp5x
@user-yk8cd1wp5x 5 жыл бұрын
@@kosbarable да не, норм - принципы-то те же..
@stas4985
@stas4985 4 жыл бұрын
на самом деле хайбер сам создаст таблицу
@rejaser
@rejaser 7 жыл бұрын
все очень круто, мне понравилось. Буду ждать видео о фреймворках с подробными объяснениями. Было бы более подробное видео с пояснениями было бы прям ВААААААХ!!!
@Maratreason
@Maratreason 7 жыл бұрын
Спасибо огромное. Классный урок. На этой основе буду делать себе портфолио, только вместо книг будут люди, сотрудники какой-то компании, с фото и описанием.
@user-gw2xs4zm4r
@user-gw2xs4zm4r 3 жыл бұрын
Здравствуйте. Как ваши успехи? Имело ли значение портфолио?
@oxx5441
@oxx5441 3 жыл бұрын
Огромнейшее спасибо!
@alex_chugaev
@alex_chugaev 6 жыл бұрын
Спасибо, быстро и по делу
@heroy01
@heroy01 11 ай бұрын
Божечки-кошечки, всё понятно
@EugeneSuleimanov
@EugeneSuleimanov 11 ай бұрын
Спасибо за комментарий!
@user-my9zi3ek7h
@user-my9zi3ek7h 6 жыл бұрын
Топ видео) и посмеяться и полезного уяснить)) А на счет того что заходят люди - полные новички в этом, так вам не сюда уважаемые. Желание быстренько за 40 минут овладеть технологией это не про программирование)
@user-ug4me4hg1b
@user-ug4me4hg1b 6 жыл бұрын
Очень здорово. Спасибо
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
Всегда пожалуйста ) Спасибо за отзыв, Дмитрий.
@goodshow935
@goodshow935 6 жыл бұрын
Отлично, спасибо!
@user-rl2zg1oq8l
@user-rl2zg1oq8l 4 жыл бұрын
Капитальный Красаучег!
@DentonA1988
@DentonA1988 8 жыл бұрын
Спасибо за хорошее видео. Делал пошагово но на свою БД со своими полями. Столкнулся в какой-то момент с org.hibernate.LazyInitializationException: could not initialize proxy - no Session. Запускаю ваш проект из раздачи - все работает. После тщательной инспекции своего кода, выяснилось, что проблема была в отсутствующей строке логгера logger.info("User successfully loaded. User info: " + user); в UserDaoImpl. Проблему с пассивной инициализацией решил добавлением строки в hibernateProperties: true
@user-jw5pt7dx1l
@user-jw5pt7dx1l 5 жыл бұрын
очень долго долбался с этой проблемой, просто посмотрите что гугл дает на "disable lazy loading hibernate" там просто треш.
@volandio
@volandio 6 жыл бұрын
Спасибо ОГРОМНОЕ)
@eugeneneo834
@eugeneneo834 7 жыл бұрын
Евгений, не могли бы вы объяснить, зачем в контроллере была применена аннотация Spring автосвязывания для метода setBookService и уточнение qualifier на "bookService" с маленькой буквы? Т.е. получается связка не с классом в пакете service, а с используемым в момент выполнения экземпляром класса? (23 мин видео). Заранее благодарю!
@sergiytychkin
@sergiytychkin 6 жыл бұрын
Добрый день. Вопрос. Я добавил в свойство create. Но создание таблицы не происходит. БД есть, но таблица BOOK не создается.
@freegy4018
@freegy4018 2 жыл бұрын
Изучил java se и java core. Начинаю вникать в область сетевой разработки на java, spring. С чего начать изучение? Как этот процесс обучения должен выглядить.Чтобы также получать навыки написания подобных приложений и совершенствоваться в этом. Какие книги может быть посоветуете? Заранее спасибо
@desire88
@desire88 6 жыл бұрын
Для того что бы убрать лишние проверки и повысить быстродействие Hibernate, рекомендуется на методах которые по своей логике должны только получить данные, ставить не просто @Transactional, а указывать дополнительный параметр readOnly, а именно @Transactional(readOnly = true). К таким методам можно отнести getBookById в BookServiceImpl. Всем добра :)
@OriginalLany
@OriginalLany 6 жыл бұрын
Добрый день, подскажите, пожалуйста, как вам удалось совместить добавление и редактирование в одном окне? У меня вот на edit гиперссылка, в которой одно окно редактирования, не очень красиво получилось. Спасибо
@zanoga1
@zanoga1 6 жыл бұрын
супер. все просто и ясно,а с другой стороны нифига не понятно.. =)) Почему перестали снимать видео? у Вас все супер получается, продолжайте
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
Нагрузка по работе - к сожалению, всё никак не оплучается выделить время.
@TheEBPO
@TheEBPO 8 жыл бұрын
Вопрос: в контроллере, в этом куске кода: listUsers не виден в JSP-м файле. Подскажите пожалуйста решение. @RequestMapping(value = "users", method = RequestMethod.GET) public String listUsers(Model model){ model.addAttribute("user", new User()); model.addAttribute("listUsers", this.daoService.listUsers()); return "users"; } ------------------------------------------------------------------------------------------------------------ изменил на: @RequestMapping(value = "users", method = RequestMethod.GET) public String listUsers(@ModelAttribute("listUsers") List user){ this.daoService.listUsers(); return "users"; } Теперь в файлах JSP видна ссылка на listUsers. Это правильная замена?
@Samentg
@Samentg 3 жыл бұрын
Kрутой урок. Хотелось бы еще с использованием анотаций. Без xml
@EugeneSuleimanov
@EugeneSuleimanov 3 жыл бұрын
Есть более новые видео по этой теме. kzbin.info/www/bejne/m2jWqHR4mdaCiZY&ab_channel=EugeneSuleimanov Попробуйте просмотреть более новые в этом плейлисте, пожалуйста.
@wetergshsghsfghsfh
@wetergshsghsfghsfh 3 жыл бұрын
Сделал тоже самое (git -> github.com/fatumepta/spring-mvc-hibernate-thymeleaf), но + full java config; + настройки для JDBC, ConnectionPool и Hibernate в отдельном файле; + Thymeleaf вместо jsp; + Postgres 12; - без логирования. Для запуска проекта потребуется Postgres 9+ с бд "spring_mvc_crud". Но это не обязательно, в настройках можно поменять диалект СУБД и имя для БД соответственно.
@alexkuznetsov6295
@alexkuznetsov6295 Жыл бұрын
Актуально и 2022 году. Спасибо !
@EugeneSuleimanov
@EugeneSuleimanov Жыл бұрын
Спасибо за отзыв!
@rasZam
@rasZam Жыл бұрын
Круто, даже как то непривычно читать xml объявления бинов)
@EugeneSuleimanov
@EugeneSuleimanov Жыл бұрын
Спасибо за отзыв!
@NovasES
@NovasES 6 жыл бұрын
Все работает отлично. Если у кого проблемы с кодировкой в MySQL добавьте в web.xml код: charsetFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true charsetFilter /*
@chavgun97
@chavgun97 5 жыл бұрын
Дай бог тебе здоровья, добрый человек!!! 4 часа пытался исправить проблему, весь интернет перелопатил.
@shaihulud2856
@shaihulud2856 5 жыл бұрын
Спасибо, помогло
@user-nu7vu1vy4n
@user-nu7vu1vy4n 5 жыл бұрын
На работе заставили перейти с сервера Ґласфиш на Апаче. И здесь у меня возникает ошибка при отправляться запросов к БД вылетает ошибка 500. Соединение с бд настроено правильно. В чем может быть проблема.
@Le0n1DDeGtYaRoV
@Le0n1DDeGtYaRoV 7 жыл бұрын
Добрый день! Возник небольшой вопрос, у меня IDEA ULTIMATE и при создании проекта SpringMVC Maven не участвует, pom не создаётся. В чем может быть проблема, в настройке или ещё в чём-то? Изначально Mavena вообще не было, пришлось по копаться в настройках что бы он добавился
@logantmchannel
@logantmchannel 7 жыл бұрын
Лучше сразу создавать Maven проект, а потом уже добавлять ему депенденси на спринг.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Да, это крайне хороший вариант.
@ascar66
@ascar66 3 жыл бұрын
Для тех кто хочет повторить за автором, проект нужно создавать через maven, просто создаете webapp приложение, а потом добавляете все зависимости в ваш pom.xml файл. И все у вас заработает.
@datvu3283
@datvu3283 7 жыл бұрын
Создал новый проект maven и пытался переместить в него ваш package и по итогу BookService не видит класс Book в папке model, хотя import прописан верно. В чем может быть ошибка? Так же при скачивании и запуске вашего проекта происходит ошибка при переходе по ссылке "BookList" Проект работает не корректно при скачивании. Maven не инсталиться: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotatedElementUtils.findMergedAnnotationAttributes(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/String;ZZ)
@kkpetkov81
@kkpetkov81 7 жыл бұрын
Спасибо! Проект без проблем запустился... Интересно, как можно прикрутить пейджинг, так чтоб например по 5 книг отображалось на листе, если подскажете или отправите по ссылке буду благодарен.
@user-vm7re9bu9r
@user-vm7re9bu9r 7 жыл бұрын
спасибо!
@MrMaksimsergeevich
@MrMaksimsergeevich 6 жыл бұрын
Это просто космос! Во всём инете не нашёл ничего подобного! В закладки! Упаси бог потерять!
@romanfedchenko7223
@romanfedchenko7223 6 жыл бұрын
Да, и как космос абсолютно загадочный, скрытый и непонятный. Без объяснений это видео не стоит ничего. К сожалению. ((
@TheKunnilinux
@TheKunnilinux 5 жыл бұрын
6:05 лучше Integer 11:30 this не нужен 13:34 если книга не найдена, в логи пойдет "книга успешно удалена, детали: null" (нужно добавить блок else). Также дубляж кода: для поиска книги уже есть метод с таким же кодом, можно его переиспользовать 14:44 если книга не найдена, в логи также как и выше пойдет, что книга найдена, детали null (нужно также добавить if-else)
@Krainiiserver
@Krainiiserver 5 жыл бұрын
мне ещё показалось странно, как называются поля. Если у тебя класс книга, то и поле должно быть просто "автор", а не "автор книги". Ну или идти уже тогда до конца "bookPrice", "bookId". А то получается половина полей имеет приставку "book", половина - нет.
@van_za
@van_za 6 жыл бұрын
При попытке редактировать книгу, получаю следующее сообщение об ошибке, не подскажите где искать? org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/books.jsp at line 55 52: 53: 54: 55: 56: 57: 58:
@frozenresearch4949
@frozenresearch4949 4 жыл бұрын
Вопрос. На каком это уровне разраюотки находится? (Джун, мид, сеньор)?
@pamidoroff
@pamidoroff 7 жыл бұрын
Евгений, спасибо за видео! Есть такой вопрос: mvc-dispatcher-servlet.xml не прописан явно в pom.xml, но используется. Как JVM понимает что нужно брать именно mvc-dispatcher-servlet.xml?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста. Спасбои за отзыв. С mvc-dispatcher-servlet.xml работает Spring. Это название по умолчанию. Мы можем его изменить, но прописать это в web.xml
@pamidoroff
@pamidoroff 7 жыл бұрын
Спасибо за ответ, но в своем проекте я поменял название с mvc-dispatcher-servlet.xml на departments-servlet.xml, и не прописывал это название в web.xml, но Spring его находит все равно.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Имя меняли черtз refactor?
@pamidoroff
@pamidoroff 7 жыл бұрын
да, посмотрел файл - departments-servlet.xml
@firdausparadise1591
@firdausparadise1591 4 жыл бұрын
ты проста гений
@user-pm6cc9sj1g
@user-pm6cc9sj1g 6 жыл бұрын
Добрый день! Подскажите, пожалуйста, а если в базе данных несколько таблиц как нужно выстраивать DAO нужно делать интерфейсы для каждой таблицы и все имплементировать в один класс Dao или для каждого интерфейса таблицы нужен свой класс? и также с сервисом?
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
Иван Яковлев добрый вечер. Данные о таблице, в данном случае, берутся из аннотации.
@user-gg2qx7yh2i
@user-gg2qx7yh2i 7 жыл бұрын
Скачал IDEA 16 - сколько не пытался танцевать с бубном - при выборе Spring MVC создается весьма "хилый" проект - я чего-то недонатсроил или по задумке это все нужно делать руками?
@lexjust
@lexjust 7 жыл бұрын
создавай проект Spring - > кликаешь Spring MVC. а потом можно добавить кликнув правок клавишей мыши на главную папку своего преокта Add Fraimwork Supported.. и выбираешь Maven.
@datvu3283
@datvu3283 7 жыл бұрын
Большое тебе спасибо, за то, что не поленился написать коммент!
@lexjust
@lexjust 7 жыл бұрын
А вообще попробуй использовать spring boot, в нем все намного проще чем тут рассказанно. Уроки можно найти на офф сайте
@fkyduckwarsaw691
@fkyduckwarsaw691 6 жыл бұрын
Спасибо!
@user-bk3hi8eg4b
@user-bk3hi8eg4b 6 жыл бұрын
благодарю!
@vitaliidmitriev7179
@vitaliidmitriev7179 7 жыл бұрын
Автор, спасибо за видео! По поводу listBooks(): ИМХО, аккуратнее получить книги было бы так: Session session = sessionFactory.getCurrentSession(); CriteriaBuilder builder = session.getCriteriaBuilder(); CriteriaQuery criteria = builder.createQuery(Book.class); Root contactRoot = criteria.from(Book.class); criteria.select(contactRoot); List bookList = session.createQuery(criteria).getResultList(); Вместо того, чтобы использовать руками HQL, а также чтобы не нужно было подавлять варнинг. И ещё, у @Autowired значение true по дефолту, можно не писать руками. И вопрос: не было бы ли лучше открывать сессию отдельно для каждой операции и закрывать её? Тем более, что Session implements Closeable и можно было бы не закрывать самому, а с try-with-resources: try (Session session = sessionFactory.openSession()) { // Do a barrel roll } И последний вопрос: зачем создавать два одинаковых интерфейса и для Dao, и для сервиса, не было бы лучше создать что-то одно, типа Accessor для всех? Ещё раз спасибо!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Виталий. По поводу вашего запроса - дело в том, что (насколько я знаю) Criteria имеет преимущество в динамических запросах, которые имеют несколько параметров поиска. В данном случае - у нас просто список всех книг. По поводу сессий - а, вариантов много, но приложение крайне маленькое и вряд ли имеет смысл уделять много внимания менеджементу сессий.
@leodev9586
@leodev9586 6 жыл бұрын
Зачем GET метод делать транзакционным?
@qfcfirf
@qfcfirf 7 жыл бұрын
Огромное спасибо за видео. Помогло понять как работает crud в данных условиях. Но не могли бы вы подсказать, где можно почитать про создание CRUD для 3-4 таблиц со связями Many-To-One и One-To-One. спасибо
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Александр. Почитайте официальную документацию Hibernate - там всё крайне понятно и доступно написано: docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html
@vsb330034
@vsb330034 7 жыл бұрын
Хорошее видео. Спасибо! Как на счет описать бины в java, а не xml?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый, Владимир. Описывать в классах - не самый лучший вариант. Часто - это крайне неудобно.
@vsb330034
@vsb330034 7 жыл бұрын
у меня опыт пока небольшой.... но сейчас преподают все через java конфиги.... но все равно спасибо за видео - очень помогло!!! :-)
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Владимир Баранов Пожалуйста, Владимир :)
@user-zn6yr8gd4w
@user-zn6yr8gd4w Жыл бұрын
@@EugeneSuleimanov и вот прошло пять лет - xml конфиги уже никто не использует))
@vadymchornyi5120
@vadymchornyi5120 7 жыл бұрын
Спасибо. Все ясно и понятно. Единственное не понял как в данном примере поднимается контекст Спринга, можете подсказать??
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Вадим. Через аннотации, если я верно понял вопрос.
@vadymchornyi5120
@vadymchornyi5120 7 жыл бұрын
Я в этом деле только начинающий, когда сам что то делаю со спрингом то при работе с сервлетами, переопределяю метод сервлетов init(), в котором собственно и поднимаю конекст спринга так: ConfigurableApplicationContext springContext = new ClassPathXmlApplicationContext("spring/spring-app.xml", "spring/spring-db.xml"); а вот с аннотациями пока не сильно понял.
@marinapanova7635
@marinapanova7635 7 жыл бұрын
Евгений, спасибо за видео! Все получилось! Только пришлось имена базы и таблицы маленькими буквами везде писать, workbench сказал требование сервера.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Марина. Не критично, главное - чтобы работало.
@user-iz1hp2us6v
@user-iz1hp2us6v 6 жыл бұрын
Добрый день. При создание нового проекта отсутствует выбор "application server", как на kzbin.info/www/bejne/m2jWqHR4mdaCiZY, tomcat скачал, в настройках "Application server" подтянул (гугл смотрю)))
@user-pd1hx5gi7q
@user-pd1hx5gi7q 7 жыл бұрын
Добрый день . Подскажите, можно ли совместить ваше видео по CRUD с Spring Security видео? Или нужно подключить в pom spring security?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый, Владимир. Да, конечно. Да, поместить в pom зависимости необходимо.
@user-pd1hx5gi7q
@user-pd1hx5gi7q 7 жыл бұрын
спасибо огромное. Больше бы таких мастер классов. Еще раз спасибо за видео.
@AndreyDeveloper
@AndreyDeveloper 5 жыл бұрын
Уважаемый Евгений скажи пожалуйста, а где точка входа в проект? Класс AppTest или другой? Потому как я метод main не нашёл нигде.
@EugeneSuleimanov
@EugeneSuleimanov 5 жыл бұрын
В данном видео - мы используем сервер tomcat. В результате сборки проекта мы получаем war файл. И томкат запускает его. Под капотом, там, конечно же, есть свой метод main, но, в данном случае, для нас это не критично.
@sergiytychkin
@sergiytychkin 6 жыл бұрын
Добрый день. Спасибо за видео. Почему-то проект не хочет запускаться на Tomcat 7. На 8 и 9 стартует без проблем. Подскажите как-нибудь можно это исправить? На хостинге установлен Tomcat 7. Поэтому и локально тестирую на 7.
@sergiytychkin
@sergiytychkin 6 жыл бұрын
Разобрался может кому-нибудь пригодится. Idea - Edit Configuration... - Tomcat Server - Tomcat 7.0.82 - Deployment - + BookManager:war exploded
@stanislavstudzinskyi4597
@stanislavstudzinskyi4597 7 жыл бұрын
Видео отличное! Могли бы Вы подсказать, как пользователям Community Edition устанавливать необходимые библиотеки?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Станислав. К сожалению (или к счастью), у меня нет опыта работы с Community Edition и я не могу ответить на ваш вопрос.
@Irina-cw4lw
@Irina-cw4lw 7 жыл бұрын
К сожалению, никак. При работе с Java Enterprise нужна только полная версия Идеи.
@MsMasterArt
@MsMasterArt 6 жыл бұрын
13:30 всегда в лог будет писать что книга удалена.. даже если ее не было
@inessapopova7956
@inessapopova7956 6 жыл бұрын
Подскажите , можно ли запустить данный проект из idea community? Если да, подскажите как. Пытаюсь запустить - выдаёт ссылку на ultimate((
@oleglogin9848
@oleglogin9848 6 жыл бұрын
с community не получится)
@user-rc3ln3bk1t
@user-rc3ln3bk1t 6 жыл бұрын
подскажи те как сделать index.jsp стартовой никак не могу раскурить
@yuriishevchenko2594
@yuriishevchenko2594 6 жыл бұрын
хороший урок ! спасибо! единственное: зачем так дубасить по клавишах ?! ....
@antonalekseev2694
@antonalekseev2694 5 жыл бұрын
Если у Вас поздняя версия MySQL (например 8.0.11), то решение проблемы с /*HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection*/ может заключаться в одной строке mvc-dispatcher-servlet.xml: "jdbc:mysql://localhost:3306/bookmanager?serverTimezone=UTC". PS: не забудьте в pom.xml поменять версию mysql-connector-java (на 8.0.11, например).
@aleksandrt7158
@aleksandrt7158 5 жыл бұрын
А мне это не помогло...
@vladkaverim1736
@vladkaverim1736 5 жыл бұрын
этот совет мне постоянно помогает при разборе чужих старых проектов
@MsDima9999
@MsDima9999 4 жыл бұрын
@@aleksandrt7158 решилась проблема? У меня тоже самое,хотя пароль поменял,тайм зону добавил,букву s тоже и все-ровно 500
@user-zy7ep8oy1f
@user-zy7ep8oy1f 3 жыл бұрын
При таком способе создания проекта как в видео , не подгружается maven, т.е. не создается файл pom.xml . Хотя на видео создан pom.xml файл
@alexboroon5605
@alexboroon5605 8 жыл бұрын
Евгений добрый день! Пошагово, по Вашему уроки делал приложение, однако при работе выявилась следующая проблема, при попытке редактирования добавляет новую запись в БД, все проверил несколько раз, в чем проблема не могу предположить.... Дайте пожалуйста направление куда смотреть, где искать ошибку. Заранее спасибо....
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Александр Селезнев Смотрите в BookDaoImpl. Какие именно методы используются у session. Плюс, посмотрите аннотации в классе Book.
@annadiak3269
@annadiak3269 3 жыл бұрын
Здраствуйте, у меня возникает CannotCreateTransactionException. Как исравить?
@valeriinikitiuk5839
@valeriinikitiuk5839 8 жыл бұрын
ЗДРАВСТВУЙТЕ!!. Нужны cнова ваши наставления. Делаю приложение TODOList(список дел что нужно сделать). Есть необходимость выводить активные и завершенные дела отдельно. В таблице базы данных за это отвечает колонка status(тип TINYINT). Это нужно еще добавить в сontroller, dao, service по два метода? Я не уверен что правильно сформулировал запрос в методах в dao : @Override public List listActiveTasks() { Session session = this.sessionFactory.getCurrentSession(); List rezult = session.createQuery("from Task WHERE status LIKE '1'").list(); for(Task t:rezult){ logger.info(" Active Task list: "+t); } return rezult; } Если не верно подскажите пожалуйста как сделать правильно..
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
Логичнее будет передавать в метод аргумент, например string или integer, а в jsp в зависимости от ввода выводить необходимые значения.
@george7064
@george7064 7 жыл бұрын
Здравствуйте, подскажите пожалуйста, делаю по вашему примеру, только вместо книг юзеры. в этом месте: @RequestMapping(value = "users", method = RequestMethod.GET) public String listUser(Model model) { model.addAttribute("user", new User()); model.addAttribute("listUser",this.userService.listUser()); return "WEB-INF/pages/users"; } в listUser null, в чём может быть дело?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Тут необходимо смотреть код DAO слоя. Если HTTP приходит без ошибок, то причина, скорее всего именно там.
@george7064
@george7064 7 жыл бұрын
Спасибо за быстрый ответ, я нашёл ошибку, не верные скобки в if в jsp(((
@awesomevideo9700
@awesomevideo9700 7 жыл бұрын
Евгений, спасибо Вам за туториал. Сделал все по аналогии, проект заработал. Разве что пришлось использовать в pom.xml те же версии зависимостей, что в Вашем примере. Свежие версии Спринга и Хибернейта не переваривали друг друга. У меня к Вам есть дополнительный вопрос. Буду очень признателен, если ответите. Я хочу прикрутить простой поиск по айдишнику или полю с названием книги. Что для этого необходимо сделать? Я так понимаю, в контроллер надо добавить соответствующий метод наподобие этого. @RequestMapping("search/{id}") public String searchUser(@PathVariable("id") int id, Model model){ //не уверен что именно эти методы нужно использовать model.addAttribute("user", this.userService.getUserById(id)); model.addAttribute("listUsers", this.userService.listUsers()); return "users"; } По идее, после этого мы должны добавить в .jsp страницу с книгами кнопку search при клике на которую нас перебрасывает к полям таблицы, которую мы используем для добавления и редактирования книг, а там в свою очередь ввести айдишник и если совпадение найдено, то в этой же нижней таблице появятся данные по книге. Логика в целом ясна, но как реализовать не совсем понятно, опыта не хватает. Подскажите, как бы Вы это реализовали
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Вечер добрый. Поиск по ID - Не самый лучший враиант - лучше использовать поиск по имени или по цене и т.д. Необходимо реализовать метод в DAO слое + добавить во все слои. Ну и создать отдельную страницу для вывода результатов поиска.
@awesomevideo9700
@awesomevideo9700 7 жыл бұрын
Спасибо за наводку. В ДАО добавил метод поиска пользователей по имени: @Override @SuppressWarnings("unchecked") public List listUsersByQuery(String query) { Session session = this.sessionFactory.getCurrentSession(); List bookList = session.createQuery("from Books B WHERE B.book_title = '" + query + "'").list(); return bookList; } В контроллер добавил такую реализацию: @RequestMapping(value = "/books/search" , method = RequestMethod.GET) public String searchClubs(@RequestParam("book_title") String title, Model model) { model.addAttribute("queryTitle", bookService.listBooksByQuery(title)); return "books"; } Евгений, подскажите, правильно ли реализован метод в контроллере? И под созданием отдельной страницы для вывода результатов поиск Вы понимаете отдельную .jsp или ссылку внутри books, например "/books/search?
@MaterialPG
@MaterialPG 7 жыл бұрын
Есть вопросик мне надо что-бы обновлялось без перезагрузки информация . Это для меня очень полезный пример .Спасибо большое .А то я и с этим не скоро разобрался бы. Мне подсказывали что нужен ajax но я не совсем понял с чем его едят)))
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Вот пример использования AJAX. www.javacodegeeks.com/2012/02/ajax-with-spring-mvc-3-using.html Должно помочь.
@MaterialPG
@MaterialPG 7 жыл бұрын
Спасибо буду пробовать разобраться .Если вдруг захочешь посмеяться посмотри мои уроки по яве
@saidmedetov981
@saidmedetov981 Жыл бұрын
такой проект. можно создать только через Ultimate Idea?
@andriykachur2657
@andriykachur2657 4 жыл бұрын
Привет. Отличный урок! Можете подсказать почему у меня не запускается index.jps как стартовая страница при запуске? (Я удалил в начале index.jps и создал новый. Я думаю, что проблема в этом)
@EugeneSuleimanov
@EugeneSuleimanov 4 жыл бұрын
Добрый день, спасибо за отзыв Нужен лог сервера и что дает в ответе.
@alexkurgan2008
@alexkurgan2008 7 жыл бұрын
Добрый день,у меня такой вопрос,а как сделать все тоже самое только без Спринга?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
день добрый. С помощью сервлетов. Мы создаём обработчики запросов и прописываем поведение
@user-fj2po8jj9z
@user-fj2po8jj9z 7 жыл бұрын
Доброго времени суток Евгений! Не могу разобраться с проблеммой. При запуске(также пробовал запускать и Ваш готовый проект) выдаёт следующие ошибки: 1.Artifact BookManger:war exploded: Error during artifact deployment. See server log for details. 2. Error waiting for multi-thread deployment of context descriptors to complete java Посоветуйте как лечить пож. Заранее благодарен
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Добрый день, Олег. 1. Проверьте версии зависимостей - может быть конфликт версий. 2. Нужен более полный стектрейс для понимания проблемы.
@user-hj2cf4zs9b
@user-hj2cf4zs9b 7 жыл бұрын
Здравствуйте! Огромное Вам спасибо за видео! Может быть вы подскажете, пытался по аналогии сделать для своей базы приложение, при запуске сервера выскакивает следующая ошибка: HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/transaction/spi/TransactionContext Что может быть не так?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый, Юрий. Проверьте версию Hibernate, в данном проекте используется версия 4.3.5 Final. Вероятнее всего, в Вашем случае - Hibernate 5.
@user-hj2cf4zs9b
@user-hj2cf4zs9b 7 жыл бұрын
Действительно, в этом всё дело, помогло) Спасибо большое!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Всегда пожалуйста, Юрий.
@user-jy6dz8os9m
@user-jy6dz8os9m 3 жыл бұрын
@@EugeneSuleimanov У меня таже проблема. Немогли бы вы обьяснить почему не работает с 5 Hibernate?
@EugeneSuleimanov
@EugeneSuleimanov 3 жыл бұрын
@@user-jy6dz8os9m это связано с конфликтом версий. Версии спринга и хибернейта.
@fedyayasha
@fedyayasha 7 жыл бұрын
Подскажите пож та где включить шаблоны, нет такого в моей ИДЕЕ, не могу найти где включить
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Вероятнее всего, у вас Community Edition. На видео - Ultimate
@fedyayasha
@fedyayasha 7 жыл бұрын
у меня тоже Ultimate
@cardmastercard3554
@cardmastercard3554 8 жыл бұрын
Евгений, подскажите пожалуйста, как осуществить поиск по БД в Вашем примере?
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Cardmaster Card Тут нужно думать, конечно, самому. Дам лишь подсказу, что нужно реализовать метод, который делает запрос в базу с определённым условием. Создать отдельную страницу с выводом результатов и контроллер для этой странцы. Удачи )
@cardmastercard3554
@cardmastercard3554 8 жыл бұрын
+Eugene Suleimanov Вы не могли бы показать пример?
@online-shopklondike1806
@online-shopklondike1806 7 жыл бұрын
Евгений, уже несколько дней бьюсь над добавлением поиска. Можете направить в правильное русло: 1."создать отдельную страницу для вывода" в той же папке создать где и userdata? 2. контроллер для этой страницы должен быть в отдельном файле или просто путем добавления метода в UserController?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Создайте метод в слое dao - public List findBookByName(String bookName) { ... List result = new ArrayList(); далее запрос на получение всех книг из таблицы. List allBooks = ... После этого for(Book book: allBooks){ if(book.getName().equals(bookName)){ result.add(book); } } ... return result; } Соновная мысль, приблизительно, такая. Пропущенная часть кода не должна вызвать затруднений. А страницу для вывода результатов поиска попробуйте реализовать по аналогии со списком всех книг, только используйте метод для поиска.
@ruslanbaimakhanov2927
@ruslanbaimakhanov2927 7 жыл бұрын
У меня вылетает ошибка 404 The requested resource is not available. Настраивал все по уроку, первая страница открывается, вторая ни в какую. Что делать?
@a1dwow
@a1dwow 8 жыл бұрын
Какой шрифт в IDEA ?
@RevoltEnergy
@RevoltEnergy 7 жыл бұрын
здравствуйте, я все сделал как у Вас, но у меня работает только страница index, при переходе на остальные - 404 not found. смотрел самые первые комменты, там у кого-то было подобное, Вы советовали смотреть в контроллер, и если это о классе BookController, то там вроде-бы все правильно написано, пробовал по-разному менять во всех файлах ссылки на страницы, менял на /pages/books вместо /books, то же самое.. и не совсем понимаю при чем там этот класс контроллер, если он, насколько я понимаю, отвечает за наполнение данными jsp страниц в папке pages, а сервер не видит саму страницу вообще, или не имеет доступа к ней.. контроллер может не позволить серверу видеть страницу? поправьте, если ошибаюсь. и еще, перед отправкой этого комментария прямо сейчас посмотрел, в классе BookDaoImpl в строке List bookList = session.createQuery("from Book").list(); подчеркнуто красным " 'from' unexpected ", что-то с hibernate может, у Вас такого не было в видео же, у Вас подчеркнутым было слово Book.. помогите советом, пожалуйста
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Добый вечер, Павел. Если ошибка 404 - то причина либо в контроллере, либо в именование пакетов, либо в имени jsp файла (99.9%). То, что подчёркивает красным - не проблема - главное, чтобы компиляция была успешной. Нужно смотреть сам код.
@user-er8qu1tk7v
@user-er8qu1tk7v 8 жыл бұрын
Выбираю SpringMVC, создаю проект и в итоге проект без мавен и пом-ника, ну и соответственно без тестового класса HelloWorld. Зависит от версии Intellij IDEA? Или что то в настройках?
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Илья Читнеев Стоит посмотреть, отмечен ли пункт download, который находится в нижней части панели при создании проекта. Там есть возможность скачать библиотеки, либо указать путь. Рекомендуется выбирать download.
@user-er8qu1tk7v
@user-er8qu1tk7v 8 жыл бұрын
+Eugene Suleimanov по дефолту выбран download, на Use library не менял, потому что зачем загружать самостоятельно, если это делает maven\IDEA После того как нажимаю next, предлагается выбрать имя проекта и директорию , и кнопка finish
@user-er8qu1tk7v
@user-er8qu1tk7v 8 жыл бұрын
+Eugene Suleimanov я могу самостоятельно попытаться все это сделать, но IDEA должна сама по идее..
@user-er8qu1tk7v
@user-er8qu1tk7v 8 жыл бұрын
+Eugene Suleimanov отсуствует выбор шаблона
@rufansa
@rufansa 8 жыл бұрын
+Илья Читнеев Также не нашел выбор шаблона при создании проекта. IDEA 15 Ultimate
@immortal-spirit-13
@immortal-spirit-13 4 жыл бұрын
а почему у вас удаление по get запросу? должно же по POST @RequestMapping("/remove/{id}") public String removeBook(@PathVariable("id") int id){ this.bookService.removeBook(id); return "redirect:/books"; } а в целом супер ) спасибо)
@EugeneSuleimanov
@EugeneSuleimanov 4 жыл бұрын
Что здесь можно ответить?)) По отношению к себе у меня только такая мысль kzbin.info/www/bejne/rnPNhH1-f9Vlq5Y
@iakovburtsev
@iakovburtsev 7 жыл бұрын
Добрый день! Спасибо за очень полезное видео! Как раз, то что искал!!! Хотел уточнить: 1. Intellij IDEA community или ultimate? 2. MySQL Workbench community или ultimate? Если дадите ссылку буду очень рад.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый, Яков. Благодарю за отзыв, рад что материал оказался полезным. Intellij IDEA - ultimate. MySQL Workbench - стандратная, которая находится в свободном доступе. Ссылка на Intellij IDEA находится на сайте www.jetbrains.com/idea/download/ Данная IDE платная, либо бесплатная версия, с некоторыми "тонкостями". Workbench : dev.mysql.com/downloads/workbench/ Удачи Вам, Яков.
@iakovburtsev
@iakovburtsev 7 жыл бұрын
Установил intellij IDEA community 14, чтоб было как на видео. Но вот появились проблемы с mysql workbench. Какая версия у вас стоит (номер и community/standart/enterprise)? Еще вопрос нужно создать соединение да? У меня выходит ошибка. И при открытии модели совсем отличается внешний вид. Не могу понять как у вас слева появляется навигация по проекту.
@iakovburtsev
@iakovburtsev 7 жыл бұрын
Кстати, когда скачал и запустил ваш проект (только у меня tomcat 7, это никак не влияет на работоспособность?) открывается первая страница. Затем при попытке открыть следующую по ссылке выводит ошибку. Тоже не могу понять почему.
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Яков Бурцев Добрый день, Яков Проверьте настройки базы данных: 1. Создана ли она у вас 2. Такое же имя БД 3. Имя пользователя БД 4. Пароль доступа к БД. Чаще всего, проблема именно в этом.
@olenakramarenko5421
@olenakramarenko5421 7 жыл бұрын
Добрый день! Подскажите, пожалуйста, что сделать... При создании в BookDaoImpl переменной Logger, не хочет подключаться импорт import org.slf4j.Logger; import org.slf4j.LoggerFactory; на уровне slf4j. Я делала все по видео, специально скачала idea 14, так как на 16 не создавался шаблон. В pom добавила все dependency, в папке .m2 эта библиотека есть, но в проект jar файлы почему-то не подтянулись (если конечно в этом проблема). Куда и как их правильно добавлять или что нужно сделать, чтобы идти дальше? Помогите, плиз!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Попробуйте рпедварительно в терминале выполнить команду mvn clean install Должно помочь.
@olenakramarenko5421
@olenakramarenko5421 7 жыл бұрын
Спасибо большое, помогло!
@aleksejsbirula1121
@aleksejsbirula1121 6 жыл бұрын
А то что при условии что я делаю в точности как на видео у меня папка src пустая это почему может быть?
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
ForTuNa Gaming TV попробуйте проверить тип idea - ultimate или community. И версию ide
@user-rs6lw5vy4e
@user-rs6lw5vy4e 7 жыл бұрын
Добрый день. Скачал ваш проект. Запустил. Ошибка: HTTP Status 500 - The absolute uri: java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application Подскажите, пожалуйста, что нужно исправить. Спасибо!
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый. Стоит проверить зависимости в файле pom.xml могли не подтянуться.
@user-rs6lw5vy4e
@user-rs6lw5vy4e 7 жыл бұрын
Подтянулись
@san9_b
@san9_b 7 жыл бұрын
Добрый день уважаемый Евгений. Большое спасибо Вам за данный урок. Быть может Вы поможете мне исправить не корректное отображение данных. Дело заключается вот в чем. переходя на страницу /books данные в таблице одинаково корректно отображаются как на русском , так и на английском языке. но при нажатии на кнопку Edit в появляющейся форме для заполнения данных в полях Title и Author отображаются корректно лишь на английском языке. на русском увы нет. Надпись в таблице - Текст. Надпись в поле для редактирования - Текст Быть может Вы знаете как разрешить данную проблему ?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Добрый день, Евгений. Это связано с особенностями кодировки при работе с HTTP. Данная проблема не новая :) Рекомендую применить что-то похожее на это в качестве быстрог, но, не самого лучшего решения someString..getBytes("ISO-8859-1"),"UTF-8")); А лучше - попытаться хорошо разобраться с этим вопросом. Успехов.
@inviteyou436
@inviteyou436 7 жыл бұрын
37:45 - Насчет формы, вроде как рекомендуется использовать modelAttribute вместо commandName - stackoverflow.com/questions/21495616/difference-between-modelattribute-and-commandname-atributes-in-form-tag-in-sprin
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Если брать глобально, то рекомендуется создавать REST API и работать по-человечески :) Но, здесь ведь важно показать на пальцах, что и как.
@aleksandrmaskalenko2814
@aleksandrmaskalenko2814 7 жыл бұрын
Видео отличное! Многое стало понятно. Хотелось бы увидеть создание CRUD приложения по "человечески" :) с REST API и остальными современными штуками)
@olenakramarenko5421
@olenakramarenko5421 7 жыл бұрын
Добрый день! Подскажите, пожалуйста! После запуска сервера, при нажатии "Books list" открывается вкладка и ошибка "HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection". По логу, если я правильно понимаю, указывает на com.springapp.mvc.controller.BookController.listBooks(BookController.java:28). Что может быть не так?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
День добрый, Елена. Проверьте имя пользователя и пароль к БД.
@olenakramarenko5421
@olenakramarenko5421 7 жыл бұрын
Проверяла. Я создавала стандартные. Не сочтите за наглость, я скинула лог ошибки на почту. Можете посмотреть
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Проверил логи. С вероятностью 99.9% могу сказать, что проблема именно в конфигурации доступа к БД. Проверьте ещё раз - это должно решить проблему.
@olenakramarenko5421
@olenakramarenko5421 7 жыл бұрын
Я правильно понимаю, это в файле mvc-dispatcher-servlet.xml? Пароль и имя указаны те, что вводила при инсталяции сервера
@ALCHEMISTDRAKE
@ALCHEMISTDRAKE 7 жыл бұрын
Привет! Спасибо за труды! Скачал твой проект, создал таблицу BOOKMANAGER в MySQL Workbench. В mvc-dispatcher-servlet поменял password. При запуске вылетает: HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection Подскажи пожалуйста в чем может быть проблема?
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Привет. Всегда пожалуйста :) Вероятнее всего, имеет смысл посмотреть имя польщователя и пароль к базе данных и проверить имя БД в конфигурационном файле.
@ALCHEMISTDRAKE
@ALCHEMISTDRAKE 7 жыл бұрын
Да, действительно проблема в этом была! Спасибо! Кстати в файле resources/database/initDB.sql в первой строке: CREATE TABLE BOOKMANAGER.BOOK не хватает буквы S (должно быть BOOKS)
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Принято, спасибо.
@konstantink.8428
@konstantink.8428 7 жыл бұрын
Подскажите, что конкретно исправили? Или только пароль в mvc-dispatcher-servlet и 'S' в initDB.sql ?
@ALCHEMISTDRAKE
@ALCHEMISTDRAKE 7 жыл бұрын
В моем случае, ошибка заключалась в том, что я вместо названия базы данных прописал название таблицы в этой базе данных.
@sjkrypaa5997
@sjkrypaa5997 7 жыл бұрын
добрый день, подскажите, пожалуйста, как сделать, чтобы можно было выбрать шаблон spring mvc как на 1:14 версия идеи совпадает с вашей, однако отсутствует данное диалоговое окно
@fedyayasha
@fedyayasha 7 жыл бұрын
такая же проблема нет шаблона и не могу найти где включить. Помогите плиз
@sjkrypaa5997
@sjkrypaa5997 7 жыл бұрын
Sergey Yakovenko я лично так и не нашел в чем проблема
@user-qo3rr3kf9i
@user-qo3rr3kf9i 7 жыл бұрын
У вас видимо комъюнити эдишн, вам нужно ультимейт версию скачать
@sjkrypaa5997
@sjkrypaa5997 7 жыл бұрын
Андрей Решетченко в том-то и дело, что версия ультимат, где-то наткнулся, что убрали это фичу, на сколько соответствует реальность - не знаю
@user-qo3rr3kf9i
@user-qo3rr3kf9i 7 жыл бұрын
а, это я сам хз. У аффтора какие-то кастомные настройки и он не хочет объяснять как их сделать.
@user-zi2sl7jh3t
@user-zi2sl7jh3t 3 жыл бұрын
Ребят, почему всегда создает приложение с пустым src ? где и какие настройки нужны чтобы структура приложения создавалась?
@saiman835
@saiman835 3 жыл бұрын
в описании к видео, есть ссылка на исходный код.
@user-kn5gl8wi2o
@user-kn5gl8wi2o 8 жыл бұрын
Подскажите пожалуйста. При выборе типа приложения Spring MVC при нажатии далее не появляется окно с выбором типа шаблона и соответственно никакие папки не создаются, а есть только папка web. В чем может быть проблема? Использую Idea Ultimate 2016.1.1
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Павел Захаров К сожалению, не работал с крайней версией IDEA, поэтому не смогу Вам помочь в этом вопросе. Попробуйте поискать ответ в гугле, либо обратится в службу поддержки JetBrains.
@TheEBPO
@TheEBPO 8 жыл бұрын
У меня та же проблема. Это скорее всего прикол версии программы, или из-за того что мы его не "купили" как следует ))
@TheEBPO
@TheEBPO 8 жыл бұрын
Кстати весь урок завязан на этом шаблоне. Люди не могут повторить урок на другой версии?
@user-kn5gl8wi2o
@user-kn5gl8wi2o 8 жыл бұрын
Я разобрался, этот шаблон выбирается на версии 14 ultimate...
@user-kn5gl8wi2o
@user-kn5gl8wi2o 8 жыл бұрын
Eugene Suleimanov спасибо большое за урок,очень полезно.
@oleglogin9848
@oleglogin9848 6 жыл бұрын
а можно вместо sessionfactoruy использовать entitymanagerfactory. и какая у них разница?
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
Здраствуйте, Олег. EntityManagerFactory (и EntityManager) - это JPA стандарт. SessionFactory относится исключительно к Hibernate. Обычно, если нам не нужно использовать специфические возможности SessionFactory, то лучше использовать EntityManager. В любом случае, из EntityManager мы также можем получить сессию, например: Session session = entityManager.unwrap(Session.class); Надеюсь, ответил на ваш вопрос
@oleglogin9848
@oleglogin9848 6 жыл бұрын
извините за наверное тупой вопрос. public void addBook(Book book) { Session session = entityManager.unwrap(Session.class); session.persist(book) } Я правильно использую вызов сессии из EntityMeneger_a ?.спасибо.
@EugeneSuleimanov
@EugeneSuleimanov 6 жыл бұрын
oleg login не бывает глупых вопросов в нашей работе - всегда лучше уточнить ) В данном случае лучше использовать методы EntityManager для сохранения. Метод unwrap здесь не нужен. Ну и конфигурация будет несколько отличаться в конфигурационном файле.
@TheEBPO
@TheEBPO 8 жыл бұрын
Спасибо! Ценный урок. А если бы было с объяснениями - цены бы небыло..
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Как? How? А какие именно объяснения хотелось бы увидеть в будущих видео?
@TheEBPO
@TheEBPO 8 жыл бұрын
Не могу сказать что вы плохо объясняете потому как получается у Вас это хорошо, не знаю на какой уровень знаний рассчитано видео, но если сказать о моем уровне (3 месяца только учу Java) мне бы хотелось допустим узнать про синтаксис команд, которые использовались при подключении hibernate, и при создании SessionFactory, как, и почему именно так. То же самое про Spring. Видео все таки именно про Spring и методы CRUD. По этому больше углубиться именно в этом направлении. Спасибо за то что учитываете пожелания.
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Как? How? В будущем планирую сделать видео туториалы по основным фреймворкам, в которых постараюсь раскрыть эти вопросы более подробно. Спасибо за обратную связь )
@EugeneSuleimanov
@EugeneSuleimanov 8 жыл бұрын
+Как? How? А пока, попробуйте прочитать этот материал: proselyte.net/tutorials/hibernate-tutorial/ proselyte.net/tutorials/spring-tutorial-full-version/ Для начального уровня должно хватить.
@user-uq4nd6go9c
@user-uq4nd6go9c 2 жыл бұрын
Добрые люди, залейте исходники этого проекта и дайте ссылку!
@user-kb1bc3rj1w
@user-kb1bc3rj1w 5 жыл бұрын
При просмотре видео, нужно параллельно держать открытой книгу - Spring в действии. Практически все непонятности пропадают
@Pavelnorg
@Pavelnorg 7 жыл бұрын
Очень помогло, почти всё почти сразу получилось, спасибо! Вопрос: у меня при редактировании всегда создается новая. В отладке видно, что в контроллере в addBook() все поля = null (если Long id) или 0 (если int id). Почему у меня кнопка "Add" не заполняет объект? При этом наименование передается нормально. @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
@EugeneSuleimanov
@EugeneSuleimanov 7 жыл бұрын
Пожалуйста, Павел. Внимательно просмотрите методы в слое DAO. Вероятнее всего, ошибка именно там.
@Pavelnorg
@Pavelnorg 7 жыл бұрын
Туда даже не доходит. В контроллере в отладке уже пустые все не-строковые поля. Может, глянете, если будет минутка? github.com/SonicNorg/JavaRushTask
Евгений Борисов - Spring-построитель
2:24:30
JPoint, Joker и JUG ru
Рет қаралды 170 М.
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 162 МЛН
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 28 МЛН
Шаблоны Java. FactoryMethod (Фабричный метод)
12:22
Eugene Suleimanov
Рет қаралды 91 М.
Основы работы с Spring Security
1:56:11
Eugene Suleimanov
Рет қаралды 140 М.
Основы и секреты Rest API
5:13
Хочу вАйти
Рет қаралды 1,2 М.
Многопоточность глазами разработчика
1:36:04
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН