Spring Boot JPA (Hibernate): добавляем базу данных в веб приложение на Java (простой сайт)
HTML-код
- Опубликовано: 4 апр 2018
- Java Spring Web Application (MVC): Добавляем базу данных (БД) в Spring приложение, написанное на Java. БД нужно в любом приложении, подразумевающем хоть какое-то взаимодействие с пользователем. В случае, если весь контрент приложения генерируется пользователями, как в нашем клоне Твиттера, то и БД в приложении играет одну из важнейших ролей.
Поддержать проект:
➡ Стать спонсором ruclips.net/user/letscodedrujoin
➡ Patreon / letscodedru
➡ Яндекс.Деньги money.yandex.ru/to/4100145167...
➡ PayPal paypal.me/letscodedru
➡ Qiwi qiwi.me/letscode
Ссылка на git репозиторий из видео:
github.com/drucoder/sweater/t...
Для начала нам необходимо найти нужный гайд на сайте Spring:
spring.io/guides/gs/accessing...
Следующим шагом мы устанавливаем необходимые зависимости. В руководстве, которое мы используем, обозначена СУБД MySQL, которую можно использовать, как быстрый старт (её необходимо установить отдельно). Я же предпочитаю Postgres (его тоже надо устанавливать отдельно), ввиду большего соответсвия моим требованиям. На начальном этапе вы можете использовать любую удобную для вас БД.
Зависимость для Postgres:
gist.github.com/drucoder/5401...
Настройки БД для Postgres:
gist.github.com/drucoder/1742...
Далее по руководству создаем доменный объект (объект, который будем хранить в БД), репозиторий, для взаимодействия с БД и вносим изменения в контроллер и шаблон страницы.
Руководство по mustache:
mustache.github.io/mustache.5....
Руководство по JPA репозиториям:
docs.spring.io/spring-data/jp...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: / letscodedru
➡ Чат в Discord: / discord
➡ Группа Вконтакте: letscodedru
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/FeiP9xEhqHajfqh...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Ссылка на плейлист:
• SDKMan: установка Java...
Ссылка на канал: / @letscodedru
Ссылка на Яндекс.Дзен: zen.yandex.ru/media/id/5ac209... - Наука
Отличный урок, спасибо. От себя хочу добавить (если правильно разобрался):
1. После первого запуска приложения в application.properties нужно поменять spring.jpa.hibernate.ddl-auto=create, на update, иначе с каждым запуском база будет создаваться заново и мы теряем все данные (делал в MySQL)
2. В main.mustache в отправке формы на добавление лучше прописать action="/", иначе падает сценарий:
используем фильтр - попадаем на /filter, потом пытаемся добавить мессагу и остаемся на /filter, который не знает как обрабатывать параметры text и tag
Огромное спасибо за информацию! Потратил не менее часа на гугление решения вопроса (в моём случае - с H2).
по п.2 как я понял дело в той же ошибке на которую я натолкнулся по описанию выше - Required String parameter 'filter' is not present
Там где form сабмита для Добавить сделал но это все равно приводит к ошибке
помогло именно сделать
@@pvtitov п2 за 2 года чутка поменялся) так что мануалы для проблемных мест надо искать)
В PostgreSQL ничего не удаляется при перезапуске
@@user-gx2eq8is1x У меня удаляется. Если стоит create, а не update
Еще раз большое спасибо! на этот Spring ум начал хоть как-то собираться только после Ваших видео. Пойду спать не полным дураком)))
Очень крутые видео, давно к Spring'у подбираюсь, но другие уроки давали отрывочные знания(каждый урок- новая задача), а тут все постепенно. Спасибо большое.
Спасибо за ваши уроки! Все объясняете! Класс..
Бывает смотришь уроки, а в них автор ничего толком не объясняет, непонятно зачем такие видео нужны.
А ваши уроки - супер!
Крутой подход, спасибо автору. Следовал видео и получилось сделать
крутой проект, который любопытно "докручивать" самому. Советы автора
помогают не утонуть в деталях и не потерять мотивацию. Спасибо ребятам в
комментах - если вы напоролись на ошибку, решения находил здесь же.
Успехов!
После того как сам сделал все руками, понимаешь как все просто и легко. Спасибо за чудесный урок!!!
Очень крутой подход: попробовали что-то простое, поняли, переходим к сложному. Спасибо за крутые видосики :D
Видос очень крутой. Все просто и доступно. Спасибо, что не забываешь объяснять каждую строчку)
Благодарю, уроки супер и очень нужные! От души!
Спасибо за видео, отличный формат. Мне нравится. Жду еще.
Круто, и самое главное все понятно. Спасибо за уроки. Жму крепко руку.Все работает дже с Oracle БД.
Очень наглядно. Методика подачи материала очень крутая!
Спасибо! Шикарный материал.
Спасибо! Отличный и лаконичный материал!
Большое спасибо за видео. Реально можно применять на практике.
Благодарю за видеоуроки, все четко и понятно !!!!!!
Коротко, ясно и понятно особенно для начинающих Spring Boot!
Отличные и лучшие уроки. Спасибо.
Просто лучший, без слов!
Очень понятым языком все объясняется! Среди шквала информации по спрингу, не знал с чего начать. Ваши видео все расставляют по местам. Спасибо
ничего тут не понятно объясняется, даже не показал папку с репозиториями, не понятно как вообще методы реализовывать там получения данных с БД, что тут понятного то хоть
Очень круто) Я только начал изучать джаву, но уже очень интересно.
Поначалу я тоже получил "This application has no explicit mapping for /error, so you are seeing this as a fallback". Боролся так: скачал с гитхаба исходники к видео - они полностью рабочие. Сравнивал свои файлы в файлами с гитхаба. В моем случае причиной были лишние депенденсы в pom.xml - первоначально я пытался прикрутить БД Oracle. Так что, все преодолимо, автору респект и уважуха )))))))))))
Очень круто и очень понятно. Спасибо вам огромное
Видео отличные, то что нужно. Большое спасибо!
Очень хорошо объясняете. Зачет!
Отличные уроки!
Спасибо! Отлично! Хотелось бы увидеть freemarker+postgre+security
Вот прям от души спасибо за пожелания - мне так легче понимать, что вам интересно.
Security - следующее на очереди. Freemarker - записал в план, буду снимать :)
Во многих обучающих проектах по Spring никто не подчёркивает, что нужно использовать только JDK 8! Три дня потратил на попытки запустить почти все доступные учебные проекты - ничего с базами данных или xml не работало (пробовал на JDK 10 и 11). Установил JDK 8 - всё отлично работает!
Этот ответ нужно тащемта залайкать и поднять вверх!
Отличные уроки! Благодарю.
большое спасибо за Вашу работу
Спасибо за урок! У меня с первого раза не получилось, пришлось все переделывать с первого видео и 4 видео, в итоге все работает, спасибо!
Ничего не понимаю, но... очень интересно.
это лучше чем изучать теорию по спрингу и потом ничего не мочь сделать) автор молодец глубоко не лезет, но обьясняет что делает ! респект за такой формат
У кого выводится такая ошибка:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
то возможно вам поможет следующее:
1) Создать проект с помощью Spring initializer , то есть когда вы создаете проект в intellij idea у вас есть выбор - Java, Maven, Gradle и т.д, и ниже есть Spring initializer, выбираете его и жмёте next до окна Dependencies и там выбираете что вам нужно (например Spring Boot DevTools, PostgreSql, Spring Data JPA, Spring Web и т.д) и должно все заработать. Использовал Ultimate версию и PostgreSQL
2) Проделать тоже самое и просто скопировать pom.xml в ваш проект который вы создали с помощью maven, видимо эта ошибка только из за него.
Некоторые предлагают вставить вот такую зависимость:
com.h2database
h2
И все заработает, но в таком случае вы будете использовать встроенную БД, а не свою.
Насчет этих строчек:
spring.datasource.url=jdbc:postgresql://localhost:5432/sweater (порт указывать необязательно, можно просто "localhost/sweater" )
spring.datasource.username=postgres (это имя стандартное, если вы просто установили PostgreSQL наверняка у вас такое же)
spring.datasource.password=password123 (пароль устанавливается при установке PostgreSQL)
spring.jpa.generate-ddl=true
Больше никаких строчек добавлять не нужно на данном уроке.
Если вы не знаете как создать базу данных:
Когда вы установили PostgreSQL, найдите в поиске на компе SQL Shell(psql) и запустите его от имени администратора!!!
Как только откроется командная строка , нажимайте Enter до строчки "Пароль пользователя postgres:" и введите свой пароль который вы указали при установке (если что пароль вводиться, просто он не отображается)
Дальше может появиться предупреждение о кодовой страницы консоли, (вместо символов, будут какие кракозябры) просто введите данную строчку "psql \! chcp 1251"
После создайте базу данных с помощью команды: "CREATE DATABASE название;" в нашем случае вместо "название" замените на "sweater", точку с запятой обязательно, и должно вывести сообщение "CREATE DATABASE"
Чтобы проверить что она действительно есть введите команду \l
Готово! Также если с помощью SQL Shell у вас не получилось, базу данных можно создать в "pqAdmin 4" в браузере, нажимаете правой кнопки мыши по Databases - Create - Database , но я думаю насчет этого создано уже много видосов....
Надеюсь это кому то поможет
Вот мой pom.xml, попробуйте вставить его:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.4.4
com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
11
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-mustache
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-devtools
runtime
true
org.postgresql
postgresql
runtime
org.springframework.boot
spring-boot-maven-plugin
отличные видео, отлично говорите, приятно слушать, жаль мало объяснений что как работает, надо самому гуглить, но все очень хорошо сделано. Дважды смотрел видео ради того, чтобы отображался список сообщений)), в итоге оказалось написал в форме вывода {{message}}, а нужно было {{messages}}
Это интро. Расширенную версию с пояснениями планирую дальше снимать
Шикарные уроки, спасибо
Спасибо, хорошие видео уроки. Кратко, сжато, без лишней воды и мути! Мои лайки
Спасибо. Хорошие уроки
Спасибо за гайды!!!
вообще Топ видос , делай контент , так учить и надо)
Спасибо большое, очень хорошо и доходчиво. Дорогой Андрей, хочу напомнить о серии видео о Thymeleaf и по возможности рассмотреть вопрос с многоязычностью приложения. С огромной благодарностью, спасибо.
Будет таймлиф, не переживай)
Посмотрел несколько видосов с твоего канала. В общем впечатления только положительные : делаешь все быстро, рассказываешь все по делу без объяснений из разряда Адмирал Ясен Пень.
В общем удачи!
Спасибо большое за урок!!!
spring.jpa.hibernate.ddl-auto=update
это для тех у кого не запускалось подключение к БД + вручную создала БД через консоль
Спасибо, добрый человек, очень познавательно!
Было бы здорово детально объяснять что зачем импортируем или в краце)
Например КрудРепозитори для управления бд основные методы можем узнать провалившись туда-то
Свои методы можем создать так-то
Принимает сущность в первом поле и тип поля по которому добавляется запись в бд
У нас это Лонг тк по id добавляется а тип у id лонг
Воть)
У меня почем-то не создаётся таблица в БД после запуска приложения...
Здравствуйте! Понимаю, что шансов получить ответ на свой вопрос не много, но всё же хочется узнать: почему при подключении постгреса, вы указали у него ограничение runtime?
Спасибо большое за крутые уроки, на данный момент это лучшее что я нашел о Spring.
Для тех, кто будет мучиться с ошибками типа "Error creating bean with name 'entityManagerFactory'" рекомендую прочитать официальную вики github.com/spring-projects/spring-boot/wiki/Spring-Boot-with-Java-9-and-above
Кому лень читать и разбираться самому, просто добавьте зависимость jaxb-runtime в pom.xml
Спасибо за наводку. Мне не помогло jaxb-runtime с glassfish, а помог hibernate-core (на текущую дату добавил эту зависимость, версия 5.4.2, все заработало)
У меня было неправильное имя базы данных и возникала такая же ошибка в конце. Так что проверяйте имя бд тоже.
Мне помогли эти зависимости:
javax.xml.bind
jaxb-api
2.3.1
org.javassist
javassist
3.25.0-GA
Большое спасибо за ваши уроки, действительно толково описываются действия.
Вопрос - момент 10:40, при обновлении страницы последняя запись снова добавляется в базу. Почему так происходит?
6:33 Ctrl + Alt + V
По крайней мере это дефолтный вариант для данного экшена (Extract variable).
а что вообще делает эта команда? не совсем понял
@@Ilya_yarets задаёт тип и название для присваивания
У ведущего Linux. На линуксе несколько другие горячие клавиши. В частности, комбинация ctrl + alt + системная.
а я то думал что не так
Спасибо за уроки!
Вопросы:
1. Почему у фильтра Post запрос? Он ведь не меняет состояние сервера.
2. Если делать на методах Post запросов редирект на main, то как в случае фильтра передать на него новый отфильтрованный список messages?
Спасибо за прекрасный пример. Добавь пожалуйста реализацию AOP
ждем продолжения братик, пили проектики на Spring(e)
Привет! Может методу findByTag() стоит возвращать аналогично findAll(), т.е. Iterable?
Или без разницы?
Спасибо за видео
Отлично, спасибо!
Новичков часто пугают красные предупреждения при использовании, например, MySQL типа:
"WARN: Establishing SSL connection without server's identity verification is not recommended."
Решения два:
либо использовать SSL подключение к БД (т.е. зашифрованное подключение) - что сложнее,
либо уведомить драйвера MySQL о том, что SSL для подключения к БД использоваться *не будет.*
Для этого надо просто к строке подключения (в данном примере переменная _spring.datasource.url)_ добавить в конец _"?true&useSSL=false"._ Т.е. полностью должно получиться так:
*_spring.datasource.url=jdbc:mysql://localhost:3306/sweater?true&useSSL=false_*
С таким URL данных предупреждений не будет.
Спасибо, ваш совет помог. Только, почему-то автоматически база данных не создается и спринг выдает ошибку и не запускается. После ручного создания бд в mySQL запустилось приложение
Василий Васильев саму бд надо создать, а таблицу и столбцы создаст сам спринг (мы для это использовали аннотацию @Entity).
github.com/serg03092017/let-sCodeLessons вот тут версия, которая работает!!!!, но перед этим нужно создать базу данных mysql с таблицей и полями. Ещё надо выбрать Ru/Debug Configurations и назначить Main класс com.example.sweater.Application. pom.xml тут правильный!!! Ещё необходимо прочитать Readme.txt
@@someunknownuser База создается сама, смысл писать такое приложение и самому базу создавать?
нужно почитать конфигурации.
@@lisafox9026 нужно создавать базу данных. Нужно создать схему (database) в mysql workbench для mysql или в pgadmin для postgres. С именем к которому подключаемся. Также после создаём таблицы для классов с аннотация ми entity. И на при работе необходимо держать подключение к базе всегда открытым. Например запущенный pgadmin или mysql workbench. Сама база создалась в случае h2 database, но и для этого необходимо было бы добавить скрипт создания базы и таблиц.
Большое спасибо, отличная подача!
Если у кого-то будут лететь исключения, связанных с подключением к БД, мне помогло добавить параметр serverTimezone=GMT
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/sweater?serverTimezone=GMT
Видео нравится, спасибо автору.
Но хотелось бы более подробно, так сказать, с чувством, с толком, с расстановкой. Например, про интерфейс MessageRepo. Почему это интерфейс? Откуда там методы save и findAll? То есть более подробно про фреймворк, что он делает, что означают аннотации и т.д. Хочется понимать, что происходит, а не просто копировать из гайда....
Супер! Спасибо!
ваша БД находится на локалхосте? А можно ли добавить ее в проект? И что бы запросы работали нужно, чтобы СУБД была запущена? Вот я использую MySql, все также работает, но если СУБД закрыть, то put запрос не выполняется
Все здорово, но после доваления фильтра по данному туториалу становиться недоступна опция "Добавить", проблему я решил добавив аналогично action = "some_name" в и в @PostMapping("some_name")
Спасибо за видео, а могу ли я использовать SQLite вместо Postgres-a? и какие конфиги прописывать application.properties?
Отличные видео. Но для новичков все же h2 лучше использовать или другие embedded. Чтобы не заморачивались с установками mysql & etc.
Объяснения из разряда если ты понимаешь что происходит, то можно не смотреть, а если не понимаешь это видео не дает какого то понимания. Это мы вставили это скопировали сейчас запустили, вот тут это выскочило. Алишев в этом плане конечно х5 по доступности объяснений.
Это было круто!!!
спасибо! крутяк!
Спасибо за видео, возможно ли просмотреть содержимое нашей БД через postgres, а не через метод findAll?
Видео супер, но можно сделать отдельный видос про БД Postgres
и через H2)))
отличные уроки. скажи плиз а это будет работать если прикрутить ломбок и заменить гетеры сеттеры конструкторы на аннотации?
Для тех кто использует postgresql .Если будет выдавать ошибку -->"Caused by: java.sql.SQLFeatureNotSupportedException: Метод org.postgresql.jdbc.PgConnection.createClob() ещё не реализован
at org.postgresql.Driver.notImplemented(Driver.java:688) ~[postgresql-42.2.5.jar:42.2.5]/////в файл application.properties вставьте ----> spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
Ошибка не ушла, но программа все равно работает.
@@user-iw8mh3tq3d spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
@@user-iw8mh3tq3d попробуйте добавить зависимость jaxb-runtime в pom.xml об этом пишут и в официальной вики github.com/spring-projects/spring-boot/wiki/Spring-Boot-with-Java-9-and-above
мне помогло)
на 13:25 - Вы говорите что "filter" это маппиг по которому уходят данные. А как это тогда связанно с "" ? вроде как action=filter указывает на то что @PostMapping("/filter") будет переданные данные обрабатывать. Правильно я понимаю? те это " как бы указание адреса куда данные отправляются, а потом по этому адресу срабатывает @PostMapping("/filter") метод и делает с данными все что нужно, а адрес в адресной строке просто остается как ненужный след.
Добрый день, очень полезны ваши гайды. Но вы в видео не показываете как создаете саму БД. Я работаю тоже в Идее и справа во вкладке создаю базу PostgreSQL и в url указываю название своей БД. Но почему-то при запуске выдает следующую ошибку: Подсоединение по адресу localhost:5432 отклонено. Проверьте что хост и порт указаны правильно и что postmaster принимает TCP/IP-подсоединения. Потом решил скачать ваш проект и выдает ту же ошибку, мне кажется проблема в том, что я неправильно создаю буду. Буду рад, если вы ответите!
Уроки однозначно для тех, кто уже знаком с материалом - подробных объяснений здесь нет. Если вы не в теме, то получится "повторяю, но не понимаю, что делаю". Рекомендую для начала пройти курс по спрингу и хайбернету, а потом идти сюда для создания более менее крупного проекта
Для тех кто использует MySQL
Вот как должна выглядеть урл если у вас проблемы с тайм зонами
jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
thanks very much )
Спасибки мэн
у меня MySql вот с такой строкой прокатило: spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/developerdb?serverTimezone=UTC
@@iosif-stalin Лучший
Красава
Я новичёк. Для меня были следующие сложности в понимании:
1.Не подключился к базе( т.е к схеме, которую создал) пока не указал путь mysql.exe в системные переменные компьютера. Не хотело, выпадало исключение.
2.в апликейшнпропертях всю строку =create всё-таки убрал, потому что после перезагрузки страницы тэги, значения вытирались. Зашуршало.
Спасибо автору, за отсутствие «воды». Хотя иногда хотелось бы чтобы пожевали подольше.
Спасибо автору за прекрасное изложение материала, отсутствие "воды" и замечательную дикцию.
Для тех кто оставил базу MySQL пишем spring.datasource.url=jdbc:mysql://localhost:3306/sweater?useSSL=false&useUnicode=yes&characterEncoding=UTF-8 чтобы адекватно обрабатывалась кирилица и не было ругани на SSL, постгресс нормально работает "из коробки".
мне не помог этот костыль, так кириллица и не распознается
все попытки исправить ситуацию таким образом привели лишь к General error: 1366 Incorrect string value
Здравствуйте, community idea не позволяет использовать mustache файлы , на сайте jetBrains так и сказано, не могли бы вы указать какой нибудь обходной путь(возможно его все таки как то можно использовать в community) или объяснить как делать то же самое,что вы делаете на mustache , только на thymeleaf, спасибо
Здравствуйте, про попытке подключиться к mysql вылетает ошибка
Exception during pool initialization.
java.sql.SQLException: Access denied for user '"root"'@'localhost' (using password: YES)
через ком.строку подключается и видит все нормально, если руками через jdbc.Driver создать соединение и написать запрос, то jvm тоже видит и создает таблицы.
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Что с этим делать?
*Решено*
1. В файл pom.xml добавьте следующие строки:
com.h2database
h2
2. Уберите {{name}} из main.mustache
Если не знаете как создать базу данных, то в линуксе это делается так (просто вводите по очереди в терминал):
1.1 sudo apt-get update
1.2 sudo apt-get install postgresql postgresql-contrib
/две команы выше делаются лишь единожды/
1.3 sudo -i -u postgres
1.4 createdb sweater
Чтобы убедиться что базу данных вы создали, зразу после этого введите
2.1 psql
2.2 \l
Мне помогло. Отпишитесь кому помог))
Спасибо тебе добрый человек))) Помогло
Как это работает?
Чел, ты просто гений, зависимость помогла
спасибо большое!) помогла зависимость
Подскажите пожалуйста, почему mustache не рендерит utf-8 (русские буквы -вопросами)? с thymeleaf такого не происходит. java 18 maven 4 sping 3.0.0 snapshot
У меня не работает Postgres делал все по видео , запускаю выдает ошибку :
org.postgresql.util.PSQLException: Подсоединение по адресу localhost:5432 отклонено. Проверьте что хост и порт указаны правильно и что postmaster принимает TCP/IP-подсоединения.
Думаю ладно, может где-то не так прописал что-то , загрузил с гита готовый проект , по идее должно ж все работать отлично, но нет та же проблема.
Подскажите пожалуйста почему так?
Буду очень благодарен!
спасибо бро!
Лайвхак: если в post методе поставить return "redirect:/" то не нужно писать ненужный код вклдывания в модель:)
Красава)
Попробовал нагуглить, но не нашел. С помощью Mustache мы можем только параметры передавать в запросе? Если я хочу в контроллере уже принимать объект, чтобы корректно работали аннотации валидации для моих DTO, то mustache мне не подходит или есть вариант упаковать этот набор данных в json, чтобы потом он в java-класс сразу распарсился?
В этом уроке мы прописываем поле тег класса Стринг, это для простоты понимания и фильтрации по тегам? Более реалистичным мне кажется сделать это поле Листом Стрингов. Видимо в учебных целях так, да?
спасибо вам
Если при обновлении страницы у вас в бд снова добавляется сообщение - это нормально. Чтобы исправить это, в методе, который обрабатывает Post запрос, делайте редирект. Просто вместо "main" возвращайте "redirect:/main"
Что и где лучше использовать crudrepository или jparepository?
Правильно ли для получения данных использовать Post запрос? Вроде как Get должен быть.
Здравствуйте! #Вопрос: После функции "Искать по тегам" в адресной строке появляется /filter, и после этого если хочу добавить еще один сообщение выдает ошибку. Почему? Если убрать /filter в конце адреса то проблем нет, обясните пожалуйста!
если что: при создании new Message (9:10) не обязательно создавать конструктор в бине сущности, у тебя же там сеттеры уже есть, можно инициализировать поля чз них. просто Message message = new Message(); message.setText("текст"); и save там в конце. прост ты говоришь "нельзя добавить поля сразу в бин". а можно,)
Ребят, мне необходимо с помощью spring работать с mysql, только данные к базе пользователь должен заполнить сам в веб интерфейсе при первом запуске приложения. Куда копать подскажите плиз. Интересует настройка параметров подключения к базе уже после запуска спринга
столкнулся с проблемой. после вставки в pom.xml депенденси с org.postgresql, выделяет красным с ошибкой Dependency 'org.postgresql:postgresql:' not found less... (Ctrl+F1)
Inspection info: Inspects a Maven model for resolution problems.
прямо приятно изучать по этим урокам! спасибо автору! Появился вопрос...как Spring понимает что нужно обращаться к методу add при добавлении ? если в форме не указать action или указать main все равно отрабатывает add. за счет чего ?
потому что метод add обозначени анотацией PostMapping что означает - что он обрабатывает пост запросы по дефолтному мапингу
Чётко!
А как искать по нескольким параметрам? К примеру пять-шесть параметров, любого из которых может не быть. Ну и разные варианты взаимодействия параметров и, или, с- по, все кроме и.т.д.
пересмотрел предыдущий и этот урок еще раз но не могу понять где и что мы передаем в параметр Map model ?
Штука по mustache очень конечно полезная, но есть ли такая по thymeleaf??
Много различных исключений возникало, пока не изменил версию SpringBoot в pom.xml на 2.1.7.RELEASE, как написано в нынешнем руководстве.
Спасибо, добрый человек! Промучался, конечно: то одно не подтягивается, то другое. Уже начал gradle ставить, как увидел Ваш комментарий. Спасибо!
Да, время идёт, спринг растёт и развивается. Такова жизнь)))
у меня всё в норме
Храни тебя господи
ОГРОМНЕЕШОЕ ВАМ СПАСИБО И НИЗКИЙ ПОКЛОН ЗА ЭТО ПОДСКАЗКУ
спасибо!