Основы Spring с нуля + создание сервера backend (RESTful, SSL)

Реализация проекта на 2-х языках: Java/Kotlin
84 видеоурока, 8.5 часов

САМЫЙ ПОПУЛЯРНЫЙ ФРЕЙМВОРК В МИРЕ

На данный момент Spring - самый часто используемый фреймворк для серверных Java/Kotlin проектов. Его популярность растет с каждым днем, потому что Spring имеет готовый набор инструментов для всех современных технологий.

МНОЖЕСТВО ВАКАНСИЙ

Если посмотреть на список рабочих вакансий, то почти везде требуются знания Spring (для серверных приложений, backend). Потому что для крупных компаний - это возможность быстрой разработки с применением современных инструментов, которые предоставляет Spring.

УСКОРЕНИЕ РАЗРАБОТКИ ПРОЕКТОВ

С помощью Spring вы можете думать только о бизнес-процессах, а всю фоновую работу берет на себя фреймворк.

ПОДДЕРЖКА JAVA/KOTLIN

Если разрабатываете на Kotlin - сможете использовать все преимущества языка и еще быстрее создавать код (по сравнению с Java).

ПРИНЦИПЫ ООП И ПАТТЕРНЫ

Большой набор готовых подходов и паттернов, которые вы можете сразу использовать в своих приложениях (DI, IoC, AOP, микросервисы и пр.)

БОЛЬШОЙ НАБОР ТЕХНОЛОГИЙ

Для всех современных решений у Spring существует своя упрощенная и более удобная реализация. Поэтому многие перешли с JavaEE (JakartaEE) на этот фреймворк. Подробнее о проектах Spring

Java

Spring с самого начала создания поддерживает возможность разработки на Java - для этого существует множество готовых библиотек, направлений и примеров

Самый популярный

Kotlin

Помимо Java - вы можете разрабатывать на популярном языке Kotlin - тем самым ускоряется создание кода и улучшаются возможности компилятора

Новый, быстрый и удобный

Spring позволит вам сильно разгрузить программный код и обеспечит легкое взаимодействие со всеми современными инструментами.

Упрощение разработки любых приложений на Java/Kotlin, разгрузка кода, паттерны и best practices

Готовые встроенные модули (работа с БД, безопасность, транзакции, авторизация, сервисы и пр.)

Ускорение разработки любых проектов в несколько раз за счет автоматизации и готовых решений "из коробки"

Поддержка всех современных трендов и технологий с добавлением более удобного API

НОВЫЙ КУРС ДЛЯ НОВИЧКОВ

Мы разработали специальный курс для всех, кто хочет начать изучение Spring Framework и создать с нуля серверный проект (backend).

После изучения фундамента Spring - разработаете RESTful сервисы - API вашего backend

Реализация проекта будет на 2х языках: Java и Kotlin.

84 урока

8,5 часов

ОБ АВТОРЕ

Батыршинов Тимур, 35 лет: основатель обучающего центра «JavaBegin». Главный тренер.

За 8 лет обучил более 51000 человек (онлайн и оффлайн).

Опыт разработки — более 15 лет.

Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, Angular и многие другие.

Все материалы - полностью авторские.

Для кого этот курс?

В первую очередь для новичков, кто хочет изучить базовые технологии Spring и сразу создать на нем большой рабочий серверный проект (backend с RESTful сервисами). Затем эти сервисы смогут вызывать любые сторонние приложения (Angular, React, Android, iOS и пр.)

Также, материалы будут полезны для всех, кто хочет перевести свои Spring проекты полностью на использование Kotlin.

В курсе вы пошагово будете переводить каждый класс на язык Kotlin и сравнивать реализацию.


КАКОЙ ПРОЕКТ СОЗДАДИТЕ

Вы с нуля создадите проект backend (сервер), который будет предоставлять свое API через RESTful сервисы. Сервисы будут вызывать запросы в БД и получать данные в формате JSON. Код будет показан на 2х языках: Java и Kotlin.

"RESTful сервисы для планировщика задач"

ПОДРОБНЕЕ О ФУНКЦИОНАЛЕ

  • Реализация всех функций для работы с объектами "Планировщик задач": создание, получение, поиск, редактирование, удаление и т.д.
  • REST API для вызова любых операций по защищенному каналу HTTPS с применением собственных сертификатов SSL (самоподписанных)
  • Работа с тестовыми данными, которые вы получите в готовом виде вместе с БД PostgreSQL (все таблицы БД были разработаны в этом курсе)
  • Внешнего вида (UI) в этом курсе не будет, т.к. это полностью серверное приложение (backend). Frontend для него будете разрабатывать в отдельном курсе
  • Пошаговый перевод всего проекта с Java реализации на Kotlin - причем одновременно в проекте будут работать несколько компиляторов
  • Правильное и оптимизированное заполнение JSON файлов и параметров, чтобы не было лишней нагрузки на сеть и лишних SQL запросов (избыточности данных)
  • Применение преимуществ языка Kotlin при заполнении параметров и поиске объектов - можно уже на этапе компиляции задать правильное поведение объектов
  • Создание и реализации паттерна (архитектуры) взаимодействия всех частей приложения Spring приложения (контроллер-сервис-репозиторий)
  • Применение основных возможностей Spring: DI, IoC, AOP, контейнер, бины и пр. - без этого не обходится ни одно приложение

ГОТОВАЯ БД POSTGRESQL

Будете использовать уже готовую структуру таблиц на PostgreSQL и сразу подключать ее в своем проекте.

Эту БД разрабатывали в отдельном курсе

Основное направление - реализация функционала "Планировщик задач", который является сквозным для всех проектов, начиная с самого базового по Java и ООП

Выполните импорт из дампа и начнете сразу работать

ПЛАН ОБУЧЕНИЯ

Общая последовательность действий 

1

Основы Spring и его архитектура -
фундамент всей технологии

Сначала изучите саму технологию и возможности,
чтобы иметь хорошее представление о Spring и его технологиях

2

Создание SpringBoot проекта
с настройками и SSL сертификатами

Создадите базовый проект сразу с SSL сертификатами,
чтобы все запросы выполнялись по безопасному каналу

3

Реализация на языке Java - с технологиями SpringData/JPA/Hibernate/PostgreSQL

Полностью реализуете проект сначала на Java
с применением БД PostgreSQL, SQL запросами,
проверкой параметров и пр.

4

Добавление RESTful сервисов
для функционала "Планировщик задач"

С помощью Spring MVC создадите все необходимые сервисы,
которые будут возвращать данные из БД в формате JSON

5

Проверка работа веб сервисов
с помощью Postman и браузера

Специальный инструмент для более удобного вызова
RESTful сервисов (запросы, параметры, ответы, body)

6

Пошаговый перевод проекта
полностью на язык Kotlin

Пошагово переведете всю реализацию на Kotlin и сравните
плюсы-минусы в обоих случаях (удобней реализация будет на Kotlin)

Java - самый популярный

Сначала вы полностью реализуете весь проект на языке Java, т.к. он полегче для понимания. Все возможности Spring будут доступны для обоих языков.

Kotlin - самый современный

Затем постепенно переведете класс за классом весь проект на язык Kotlin. Это частая процедура в современных приложениях, когда требуется именно постепенный переход.

Изучение Spring с нуля на основе проекта RESTful

Чтобы научиться создавать приложения Spring - вы должны понять ее "внутреннюю кухню" и архитектуру. Без этого фундамента вы не сможете идти дальше.

Применение языков Java и Kotlin на Spring

Научитесь реализовывать проект на разных языках, чтобы затем сравнить их плюсы/минусы. Это часто встречается в крупных компаниях, которые переносят проекты на Kotlin

Пошаговое создание проекта для новичков

Все шаги показываются по принципу "от простого к сложному". Вы не сможете нигде запутаться, т.к. весь процесс разбит на части - сможете использовать готовые решения.

Связка с Hibernate/JPA и БД PostgreSQL

RESTful сервисы проекта будут получать данные из БД PostgreSQL и отдавать их в формате JSON - самый частый вариант при работе с API backend приложения.

Архитектура приложения

Вы сразу будете применять правильные паттерны (архитектуру) Spring приложения, чтобы каждый объект занимался своими делами.

Это более профессиональный подход, который затем будете использовать во всех будущих проектах.

МИНИМАЛЬНЫЕ ЗНАНИЯ ДЛЯ ИЗУЧЕНИЯ КУРСА

Основы Java и ООП (пройти курс) - синтаксис, ООП

Основы Kotlin (пройти курс) - синтаксис, ООП

БД PostgreSQL и SQL (пройти курс) - работа с таблицами

Применение Hibernate (пройти курс) - реализация ORM

ОСНОВНЫЕ ТЕМЫ КУРСА

84 урока, 8.5 часов

Backend и Frontend

Различие частей приложения и что именно вы будете создавать

Описание Spring

Основная архитектура и части фреймворка Spring

Проекты Spring

Какие возможности и направления существуют у фреймворка

Что такое SpringBoot

Применение удобного сборщика проектов Spring

Создание проекта

Создание проекта с нуля с помощью Spring Initializr

Настройка build.gradle

Подключение всех зависимостей, настройки приложения

Плагин SpringBoot

Как работает плагин и для чего подключается в проект

Структура проекта

Правильная структуры любого SpringBoot приложения

Сервер Tomcat

Сервер, куда будет устанавливаться ваше приложения 

Профили настроек

Применение разных профилей настроек, в зависимости от запуска приложения

Применение SSL и HTTPS

Как создать свои тестовые сертификаты и заверить их в системе и приложении

Добавление сертификатов

Для корректной работы - нужно настроить приложение на использование SSL

RESTful сервисы

Открытие доступа к ресурсам приложения с помощью веб сервисов

Настройка build.gradle

Сборка проекта и подключение всех нужных зависимостей

Формат JSON

Передача параметров и получение результатов в удобном формате

Добавление БД в проект

Работа с БД не выходя из IDE - более удобный вариант для разработки

Entity классы для JPA

Mapping классов и таблиц БД для работы в JPA/Hibernate

Интерфейс Repository

Автоматический доступ к данным и создание SQL запросов

Библиотека CGLIB

Как Spring работает с вашим кодом и  динамически создает код из ваших объектов

DI и IoC в проекте

Внедрение объектов друг в друга - готовая технология внутри Spring

Создание Service

Уровень приложения, где создается API backend, доступный для вызовов

Создание Controller

Обработка запросов пользователя и передача далее по цепочке схемы

Схема работы

Архитектурный паттерн для Spring веб приложения

Настройка логирования

Правильный вывод логов для отладки работы приложения

Методы HTTP

Какие способы получения данных лучше использовать в каждом случае

Идемпотентные методы

Выбор правильных методов для RESTful сервисов по HTTP

Запросы @Query

Создание собственных запросов с помощью Spring Data JPA

Приложение Postman

Тестирование и история RESTful сервисов для проверки приложения

Аспекты Spring

Удобный инструмент для изменения работы объектов без доступа к объектам

Логирование аспектом

Динамическая работа аспекта для замера логирования каждого метода

Замеры аспектом

Динамическая работа аспекта для замера скорости работы каждого метода

Аннотация JsonIgnore

Настройка отображения JSON файла при отправке и получении данных

Аннотация JsonProperty

Настройка отображения JSON файла при отправке и получении данных

Добавление Kotlin

Подключение компилятора Kotlin в Java проект Spring

Конвертация классов

Перевод всех классов проекта на Kotlin реализацию

data class вместо POJO

Замена обычных классов Java на data class для сокращения кода

Конвертация Entity в Kotlin

Особенности перехода к Kotlin для entity классов mapping

Настройка Kotlin

Для корректной работы связки Spring-Kotlin - требуется доп. настройка приложения

Плагины Kotlin

Необходимые плагины, чтобы Kotlin корректно работал со Spring проектом и Java классами

Частые ошибки

Решение и описание частых ошибок новичков, когда переводят проект от Java к Kotlin

ИНСТРУМЕНТЫ И ПРОГРАММЫ

Какие инструменты будете использовать при разработке проекта

IntelliJ IDEA

Версия IntelliJ IDEA Ultimate, которая является в данный момент самой популярной средой разработки для новичков и профессионалов 

Gradle

Универсальный сборщик, который позволит вам подключать все нужные зависимости Hibernate, настраивать проект и многое другое.

Spring Core

Фундаментальные возможности Spring, которые используются в любых типах приложений

Spring Data JPA

Доступ к любым данным и любым источникам с помощью запросов. Spring улучшает и упрощает API для работы с БД.

Hibernate

ORM система, которая позволит работать с таблицами как с объектами. Spring автоматизирует многие операции, чтобы вы не отвлекались на них

Spring DevTools

Автоматическое обновление измененных классов, перезапуск проекта или веб страниц - все это ускоряет разработку Spring проектов

Spring AOP

Один из главных инструментов Spring - динамическое изменение поведения объекта извне - без изменения самого объекта

Lombok

Сокращение лишнего кода в Java проекте, что сильно приближает по удобству к языку Kotlin (генерация кода на лету)

PostgreSQL

БД для хранения данных, которые будут запрашиваться из RESTful сервисов по защищенному каналу HTTPS

RESTful

Самый простой и удобный способ доступа к ресурсам backend приложения через принципы REST

JSON

Универсальный формат обмена данными - можно задавать параметры для веб сервисов и получать ответ от них тоже в JSON

Java/Kotlin

Spring в данный момент хорошо поддерживает оба языка, поэтому можете использовать даже оба в одном проекте

Приложение Postman

Для тестирования RESTful сервисов будете использовать браузер и популярное приложение Postman.

Этим инструментом пользуются почти все разработчики веб проектов, чтобы удобно сохранять и выполнять любые запросы.

ТЕХНОЛОГИИ SPRING,
КОТОРЫЕ БУДУТ В ПРОЕКТЕ

Какие Spring направления будете использовать при разработке

Spring Core

Ядро всех главных технологий, которые работают в каждом приложении

Spring DevTools

Ускорение разработки и частичное обновление кода, страниц

Spring Data JPA

Доступ к БД с помощью JPA/Hibernate и SQL запросов

Spring AOP

Динамическое поведение объектов, генерация кода "на лету"

Spring MVC

Добавление веб запросов в формате JSON и RESTful сервисов

Spring-Kotlin

Связка библиотек и настроек, чтобы Spring корректно работал с Kotlin

Миграция Spring проекта от Java реализации к Kotlin

Научитесь выполнять действия, которые пригодятся в больших компаниях

  • Пошаговая миграция (по классам)

  • Совместная работа Java и Kotlin

  • Сравнение кода и классов

  • Работа Spring в Kotlin

  • RESTful сервисы на Kotlin


  • Настройка плагинов Kotlin


  • RESTful сервисы на Kotlin


  • RESTful сервисы на Kotlin


ПОДДЕРЖКА ПО ВОПРОСАМ

Сможете задавать любые вопросы по ходу изучения курса: для этого будут доступны комментарии под каждым уроком, а также отдельная telegram-группа.

Даже если начнете изучение курса позже - все равно, сможете задавать вопросы в любое время.

ВОПРОСЫ ЧИТАТЕЛЕЙ

Нет, т.к. здесь изучаете именно фундамент Spring. Микросервисы на Spring Cloud - это отдельный следующий курс

Потому что сначала нужно понять реализацию на Java, а потом уже просто перевести проект на Kotlin. Это легче, чем сразу выполнять проект на Kotlin (т.к. этот язык посложнее)

Нет, только backend - серверный код с RESTful сервисами. Внешний вид реализуете в следующем отдельном курсе.

Около 2-3 недель, если заниматься каждый день по 2-3 часа

Да, сможете изучать на любом компьютере, независимо от операционной системы. Можно даже смотреть видео на мобильных устройствах, но сам код придется создавать на компьютере/ноутбуке.

Все исходные коды есть, по каждому уроку можно будет открывать в IntelliJ IDEA. Но я рекомендую все равно набирать весь код вручную, чтобы лучше запомнить его.

Доступ к материалам и поддержке - неограничен. Можете изучать и возвращаться к урокам в любое время.

Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.

Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет в личном кабинете для каждого урока.

Можно, но не сильно долго. Чтобы не забыть пройденное. А так конечно, заранее нужно просто сообщить и ставим на паузу.

Вам нужно выбрать комплект курса, нажать кнопку покупки и ввести свои данные. На последнем шаге вы сможете выбрать любой удобный способ оплаты, в том числе из Украины.

Только в варианте участия "Коучинг" - там совместно проверяем ваш код и исправляем все недочеты.

Первые бесплатные уроки

Вы можете ознакомиться с первыми бесплатными уроками (демо-версия курса).

Сможете понять как подается материалы, какие темы будут доступны и многое другое.

Потребуется сначала пройти регистрацию.
Затем пройти по этой ссылке.

СТОИМОСТЬ

  • Выбираете нужную версию обучения - см. ниже комплекты
  • Оплачиваете любым удобным способом (картой, кошельком)
  • Получаете доступ в личном кабинете ученика с поддержкой
БАЗОВЫЙ

5 000 р


ОБЩАЯ ПОДДЕРЖКА

  • Исходные коды
  • 84 урока (8.5 ч)
  • Обновления
  • Бонусные уроки
  • Группа в телеграмм
  • Комментарии под уроками
КОУЧИНГ

-


ИНДИВ. ПОДДЕРЖКА

Если вы хотите изучить эти или любые другие материалы с личной поддержкой преподавателя - можете посмотреть раздел коучинг, где все подробно расписано.

Что такое skype-встреча?

Это индивидуальная работа с вами 1 на 1 и решение всех проблем/вопросов. Скорость обучения в этом случае возрастает в разы, потому что у вас всегда есть возможность лично спросить совет, если вдруг остановились и не можете двигаться дальше.

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

Дату и время встречи согласовываем за пару дней - затем созваниваемся через скайп/телеграмм (аудио) и anydesk (чтобы могли совместно смотреть ваш проект). Делаем полную ревизию кода и исправляем ошибки. Затем я задаю вопросы по темам и если вижу, что все ок, движемся дальше.

Личные встречи особенно помогают новичкам, чтобы у них не оставалось пробелов и они могли быстро идти вперед.

После оплаты в течение 24-х часов
получаете доступ в личном кабинете.

Всегда обновленные материалы и уроки

Доступ только через интернет

Изучение в любое удобное время

Поддержка по всем вопросам в любое время

Служба поддержки          Личный кабинет 

© Copyright 2021 JavaBegin - Все права защищены