Spring Framework — фундаментальный инструмент для современного Java‑разработчика. Этот курс поможет вам последовательно и уверенно освоить самые востребованные технологии экосистемы Spring, необходимые для работы над реальными бэкенд‑проектами — от основ IoC и MVC до REST, безопасности и продвинутой работы с БД.
Что вы изучите в рамках курса
Курс охватывает все ключевые модули Spring, позволяя выстроить глубокое и структурное понимание платформы.
Spring Core и архитектуру контейнера
Spring MVC и построение веб-приложений
Работу с JDBC и подключение к базам данных
Hibernate и JPA для ORM
Spring Boot и создание production-ready сервисов
Spring Security и настройку систем аутентификации
Spring REST и разработку RESTful API
JWT-аутентификацию и современные подходы к безопасности
Почему стоит изучать Spring
Spring — это стандарт де-факто в мире Java. Благодаря гибкости, богатой экосистеме и высокой производительности он применяется в крупных продуктах по всему миру.
Мировой и корпоративный стандарт
Компании уровня Amazon, Google, Яндекс, Тинькофф используют Spring для построения высоконагруженных и масштабируемых систем. Знание этого фреймворка открывает доступ к множеству вакансий и даёт серьёзное преимущество на рынке труда.
Широкая экосистема и сообщество
Spring поддерживается огромным комьюнити, регулярно обновляется и предлагает десятки библиотек и инструментов, которые ускоряют разработку и повышают качество проектов.
Чему вы научитесь на практике
Курс построен таким образом, чтобы вы не просто изучили теорию, но и применили знания в реальных задачах.
Построение архитектуры приложений
Вы создадите приложение с многослойной архитектурой, настроите DI/IoC, научитесь разрабатывать MVC-контроллеры и работать с сервисами и репозиториями.
Работа с базами данных
Вы освоите эффективную работу с JDBC, научитесь создавать сущности, использовать JPA/Hibernate, настраивать связи и разрабатывать полноценный слой доступа к данным.
Создание REST API
Вы разработаете REST‑сервис, познакомитесь с сериализацией данных, CRUD‑операциями, обработкой ошибок и лучшими практиками построения API.
Настройка безопасности
Вы реализуете аутентификацию и авторизацию через Spring Security, используете JWT‑токены и создадите безопасную архитектуру бекенда.
Итог
После прохождения курса вы будете уверенно владеть экосистемой Spring и сможете разрабатывать современные, надёжные и масштабируемые серверные приложения — навыки, которые востребованы в ведущих IT‑компаниях.
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Привет! Меня зовут Наиль. Я занимаюсь программированием с 17 лет и не собираюсь прекращать это дело. Для меня программирование - это полезный навык и захватывающее занятие. В свободное время я люблю путешествовать, играть на гитаре и фортепиано. Я уверен, что у меня получится донести материал таким образом, что обучение будет проходить просто, весело и интересно. Давайте вместе пройдем путь от новичков до профессионалов, присоединяйтесь!
это не swiftbook это Наиль Алишев https://coursehunter.net/source/nail-alishev
Anonymous
почему на маке не открываются видео с этого сайта?
legendsofsdu
very good!!!
hazartilirot
Да уж ребята, 89 урок весёлый) Особенно весело, когда ты идёшь "своей" дорогой) Я уже на 44 минуте, разбираюсь с эксепшенами, нагуглил свою проблему, оказывается) https://stackoverflow.com/questions/55619497/cannot-inject-property-value-to-class-parameter-value-annotatnion
Долго не мог понять, почему у меня не инджектиться значение в переменную. Я генерирую токен в сервисе, пришлось в поле подвязывать как стековерфлоу посоветовал) Во как надо набивать скилл) Йопта)
Akbario hazartilirot
у него довольно слабое объяснение jwt, я бы сказал любой англоязычный видос будет на пару голов выше, как то видно что он просто чтоб было в курсе записал его
hazartilirot
89 урок - ничего опять не понимаю. Мы же уже создавали PersonDto? ШО ОПЯТЬ?
hazartilirot
Ничего я так и не понял до конца. Зачем возиться с маппером в контроллере? Контроллер, по сути, это типа маршрутизатора. То есть, оставляем в нём абсолютно так как было раньше, только меняем Person -> PersonDTO, создаёт новый модуль Mapper и уже там создаём перегруженный метод mapPerson - в обе стороны, там же сохраняем и там же выдаём полный список через Ламду.
Чё-то Наиль устал под конец....
hazartilirot
Урааааа! Он знает про маппер)))))))
hazartilirot
87 урок - это ппц. Сам говорит, что логика не должна быть и оставляет логику для PersonDto, зачем? Передай в качестве аргумента его и уже в сервисе полностью создай новый объект. Часть оставил в одном методе, часть в другом... Ужас))))))
hazartilirot
Да уж, поля Дейт приходят в виде интеджера, а, вот, явные Энум (роли) сделали стрингом)))) И куда он спешит?
hazartilirot
Lesson 78 Делали на логин токен, а проверяем форму для регистрации.
hazartilirot
Ага, синьоры, у девицы там свои имена в таблице персон) Будьте внимательны, иначе выпадете в ошибку, надо поменять name -> full_name, year -> year_of_birth
От же блин, пришлось искать по всему интернету. Базу данный уже сами скриейтите))))
CREATE TABLE person ( id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, name VARCHAR(250) UNIQUE, year INT NOT NULL CHECK ( year > 1900 AND year 1445 AND year
hazartilirot
63, 67 Lesson: удивляюсь человеку. Я не совсем понял где домашнее задание (на Юдеми?). Второй момент, нафига было выносить это из репозитория про спринг - в котором чёрт ногу сломит? Я промолчу, что всё копируется туда-сюда, но эс-кью-эль запросы можно было сделать до конца? Почему-то про taken_at забыл.
hazartilirot
Lesson 45, чёртовый мавен! В общем, когда создадите проект, есть такая фича, зайдите сразу в pom.xml и таге properties вставьте вот эти две строчки
https://stackoverflow.com/a/36116666/1521866
только версию измените на ту, которую используете. Обновите мавен. Сходите в настройки проекта, в модулях, Language level должна стоять та версия, которую вы установили. Иначе, вас будет выбрасывать на низкую версию джавы. Меня бросало на 5. Например,
когда вы пишите new Cofiguration(); и нажимаете на OPTION + CMD + V чтобы автоматом вставить переменную с var - у вас не получится из-за низкой версии. И куча головняка.... будете мучится и не понимать чё за нах.)
hazartilirot
Lesson 45 - 12:20, у меня видит, просто, нужно было подвязать к базе данных. Всё чётко работает.)
hazartilirot
Lesson 41, хосспади, ну, как так? Он учит меня джаве при этом не знает элементарных HotKey, да нажми ты, сцуко, на CTRL + CMD + G, вот, же.... блин. И самое удивительное, зачем микрофон ставить на стол и "снимать" звук с того как ты долбишь по кнопкам?
DMDEV, конечно, на порядок лучше вашего Наиля,
reerr4606 hazartilirot
Может потому, чтобы новичкам показать, а не бездумно тыкать хоткеи, чтобы новичок пялился в экран, не понимая, как это произошло?
hazartilirot reerr4606
Какая связь? Иди сходи к Денису Матвеенко (DMDev) он тоже для новичков показывает код и вместе с этим, это делает код чище и приятнее. Спрашивается, зачем тебе Intellij IDEA, если ты не умеешь ей пользоваться? Набирай в блокноте и бей по кнопкам.
Да и Spring - это не для новичков) Перед ним нужно посмотреть ещё кучу всего.
reerr4606 hazartilirot
Согласен, частично...)
hazartilirot
Lesson 28, Почему постоянно говорят, что переменные хранятся в каком-то там файле настройках? Значения скоре всего инджектятся через environment variables.
hazartilirot
В общем, ребята, жаль, что сайт убрал теги, но это не важно, я отдельно поделился кодом вот здесь
Ой, ребята, что я хочу сказать, там где 17 урок (где начинается уже томкэт), изменяйте сразу дэпенденси, мне лично не удалось запустить в новой Айдеи с новым томкэтом его код :( Я полностью пересобирал его проект с ноля и только после этого у меня заработало. Не знаю, помогут ли тут депэндэнси, я надеюсь: откройте помовский файл, поменяйте весь список и обновите мавэн, чтобы он подтянул и обновил все зависимости.
И ещё одно, th:text - thymeleaf он будет использовать, не нужно в html таг ничего пихать, и использовать правильно через data-th-text - об этом сказано в документации. Иначе, это будет html5-unfriendly.
удачи) Я запустился 2022.3.3 Intellij IDEA и 10.1.7 Tomcat
https://stackoverflow.com/questions/55619497/cannot-inject-property-value-to-class-parameter-value-annotatnion
Долго не мог понять, почему у меня не инджектиться значение в переменную. Я генерирую токен в сервисе, пришлось в поле подвязывать как стековерфлоу посоветовал) Во как надо набивать скилл) Йопта)
Чё-то Наиль устал под конец....
name -> full_name,
year -> year_of_birth
В общем, код для 67 или 63 урока
https://github.com/AlesiaSherstneva/spring-project/blob/master/project2/src/main/sql/library.sql
спасибо красавице))))))
CREATE TABLE person (
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name VARCHAR(250) UNIQUE,
year INT NOT NULL CHECK ( year > 1900 AND year 1445 AND year
Я промолчу, что всё копируется туда-сюда, но эс-кью-эль запросы можно было сделать до конца? Почему-то про taken_at забыл.
https://stackoverflow.com/a/36116666/1521866
только версию измените на ту, которую используете. Обновите мавен. Сходите в настройки проекта, в модулях, Language level должна стоять та версия, которую вы установили. Иначе, вас будет выбрасывать на низкую версию джавы. Меня бросало на 5. Например,
когда вы пишите new Cofiguration(); и нажимаете на OPTION + CMD + V чтобы автоматом вставить переменную с var - у вас не получится из-за низкой версии. И куча головняка.... будете мучится и не понимать чё за нах.)
DMDEV, конечно, на порядок лучше вашего Наиля,
Да и Spring - это не для новичков) Перед ним нужно посмотреть ещё кучу всего.
https://gist.github.com/NeilAlishev/2f7a876867a0a8516908f96ea14521e9
Тот фильтр всё равно пригодится вам.)
И ещё одно, th:text - thymeleaf он будет использовать, не нужно в html таг ничего пихать, и использовать правильно через data-th-text - об этом сказано в документации. Иначе, это будет html5-unfriendly.
удачи) Я запустился 2022.3.3 Intellij IDEA и 10.1.7 Tomcat
UTF-8
1.7
1.7
6.0.6
junit
junit
4.13.1
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.thymeleaf
thymeleaf-spring6
3.1.1.RELEASE
jakarta.servlet
jakarta.servlet-api
6.0.0
provided
org.projectlombok
lombok
1.18.26
provided