Содержание:
- Как стартовать WEB-сервер со Spring Boot за 5 минут
- Как подключить базу данных для студенческого проекта за 5 минут
- Как наполнить h2 базу данных (и немного Hibernate)
- Как сделать проект лаконичным с помощью Lombok
- Продолжаем наполнять БД
- Как задать вопрос БД
- Обзор темы про лямбда выражения и streamAPI
- Маппинг ответов БД
- Немного о spring context
- Паттерн DTO
- REST-Controller
- Cookie & Headers
- Обработка исключений в контроллерах Spring Boot
- Как разместить Spring Boot проект на Heroku
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<properties> — это настройки, конкретно тут указан уровень Java.
<parent> говорит, что все зависимости будут выкачены с версией, которая соответствует указанной (2.2.0.RELEASE).
<dependencies> содержит тот самый spring-boot-starter-web, который стартанет. Версия тут не нужна, так как она указана в <parent>
В пакете java необходимо создать пакет: ru.java.rush. В созданном пакет создаем класс Applications и наполняем следующим содержимым:
package ru.java.rush;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Applications {
public static void main(String[] args) {
SpringApplication.run(Applications.class);
}
}
Давайте стартанем проект с помощью зеленой кнопки.
Когда в консоли появятся логи:
2020-12-05 21:05:27.598 INFO 2546 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-12-05 21:05:27.601 INFO 2546 --- [ main] ru.java.java_rush.Applications : Started Applications in 0.971 seconds (JVM running for 1.446)
Это будет значить, что TomcatWebServer стартанул на порту 8080. Давайте откроем браузер и наберем http://localhost:8080/
Так как никакой информации сервер не отправляет, то отобразится примерно следующее:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Dec 05 21:36:10 MSK 2020
There was an unexpected error (type=Not Found, status=404).
No message available
Но сервер работает: попробуйте остановить приложение, а потом обновить страницу браузера, и он скажет, что "Страница не найдена".
Вы только что написали приложение на Java, которое поднимает веб-сервер!
Тоже самое без Spring заняло бы времени в десять раз больше, а нервов — в тысячу!
В общем, изучайте Spring, не бойтесь, постепенно двигайтесь к цели, и у вас все получится!
Давайте теперь посмотрим, как быстро подключить сюда учебную базу.
Основная цель цикла статей – это показать, что не стоит бояться пробовать учиться Spring framework и Spring boot, это не так сложно, как может показаться. Однако без знания JavaCore, и основных понятий ООП(класс, интерфейс, наследование и пр.) ваше время будет потеряно зря. Если у вас нет этих знаний, не отчаиваетесь, 1 - 2 месяца учебы все исправят, после того как освоите возвращайтесь сюда. Если не знаете с чего начать то возьмите это: «Java 8. Руководство для начинающих. Герберт Шилдт» .
Цикл статей познакомит вас с основными современными практическими темами, касательно Spring framework и Spring boot. Формат каждой статьи предполагает один небольшой пример (или переходящий на несколько статей пример), небольшое объяснение и ссылки на теорию или на другие примеры, так же всячески поощряется самостоятельный поиск дополнительной информации по теме. Предполагается, что по окончанию цикла вы должны будете уметь создать небольшое вэб-приложение на основании технологий Spring framework и Spring boot.
Для понимания что такое Spring прочитайте прямо сейчас эту простую и понятную статью:
Spring для ленивых. Основы, базовые концепции и примеры с кодом..
Если ищете более серьезную информацию по теме, то ознакомьтесь со следующим списком:
Переводные и не такие простые для понимания, статьи с Хабра:
Что такое Spring Framework? От внедрения зависимостей до Web MVC
Spring MVC: создание веб-сайтов и RESTful сервисов
Переводная документация, очень рекомендую прямо сейчас по смотреть что там есть
Книги! Для начала нужно ими обзавестись, читать, конечно, следует небольшими порциями:
Spring в действии | Уоллс Крейг (Spring 3) – рекомендую начать именно с этой книги, прочитав только первую главу(так как остальное уже устарело), можно поискать в интернете
В сети гуляет частичный перевод Spring в действии | Уоллс Крейг (Spring 5) – можно по пробовать взять ее за основу, изложение оригинальной книги простое и с примерами.
Хорошим вариантом основного источника знаний является:
Spring 5 для профессионалов | Козмина Юлиана, Харроп Роб – на русском языке, можно поискать в интернете
Книга объемная и академичная, чтобы после прочтения двух страниц в ней не разочароваться, вы должны это понимать.
Лично я делал так: читал какую-то часть в книге (иногда не один раз), а потом шел искать по этой теме примеры в интернете.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ