Взгляните на Spring Boot, чтобы узнать, что он может предложить
Несколько дней назад я разговаривал с коллегой, который работает над веб-проектом, используя Spring Boot и Hibernate.
Я был поражен тем, что кто-то все еще может использовать технологии Java для веб-приложений в наши дни, когда существует множество веб-фреймворков, с которыми проще работать и которые обеспечивают почти такую же производительность.
Я сам начал свою веб-разработку на JavaServer Pages (JSP), прежде чем перейти на PHP более пяти лет назад из-за гибкости и небольшого количества времени, необходимого для создания функционального приложения на PHP по сравнению с JSP.
Тем не менее, этого моего коллеги больше беспокоят корпоративная приемлемость, стандарты, интеграция и безопасность.
Итак, я решил взглянуть на Spring Boot, чтобы узнать, что он может предложить. Хотя вначале это казалось довольно запутанным, это не так сложно, как я думал.
Что мне в нем не нравится, так это аннотации. К счастью, мне не нужно запоминать все это, мне просто нужно знать их функции и иметь шпаргалку по аннотациям на моем рабочем столе.
Короче говоря, просмотрев документацию и несколько примеров кода в Интернете, я смог создать REST API, хотя это не так быстро, как я мог бы сделать в Laravel.
В этом руководстве я покажу вам, как создать REST API в Spring Boot.
Что мы будем строить
Мы будем создавать REST API для сообщений в блогах. Он позволяет искать блог, получать все блоги, получать отдельный блог, создавать блог, обновлять и удалять существующий блог.
Требования
- Хорошее понимание языка программирования Java.
- Базовые знания Maven.
Необходимые инструменты
- Комплект для разработки Java (JDK) 1.7+
- IntelliJ IDEA, NetBeans, Eclipse или Spring Tool Suite (я буду использовать IntelliJ IDEA).
Начиная
Существует как минимум три способа создания приложения Spring Boot (например, инициализатор Spring Boot, инструмент командной строки (CLI) и Maven с IDE). Я расскажу только о том, как создать приложение с помощью Maven.
Откройте IntelliJ IDEA и нажмите «Создать новый проект».
Выберите «Maven Project».
Заполните необходимую информацию.
GroupId
- уникальное название вашей организации (в большинстве случаев люди используют обратное доменное имя своей компании, например com.mycompany), ArtifactId
- уникальное имя проекта, а Version
- номер версии проекта.
После завершения настройки у вас должен быть пустой проект с файлом конфигурации Maven pom.xml
.
Поскольку Maven является диспетчером зависимостей, вы можете добавить к нему все зависимости проекта.
На данный момент все, что нам нужно, это Spring Boot. Скопируйте и вставьте приведенный ниже код в файл pom.xml
.
- Тег
<parent>
указывает Maven наследовать свойстваspring-boot-starter-parent
, такие как номер порта, конфигурации и т. Д. Все это предоставляется Spring. - Тег
<dependencies>
содержит все зависимости проекта. На данный момент у нас есть только одна зависимость,spring-boot-starter-web
. В законченном приложении может быть больше, например MySQL, сокет, библиотека JSON и т. Д. <build>
содержит плагины сборки, напримерspring-maven-plugin
.
Обновите репозиторий Maven, чтобы загрузить зависимости.
Мы закончили настройку. Приступим к кодированию
Главный класс
Для запуска любого Java-приложения у вас должен быть хотя бы один «Главный класс». Создайте класс и назовите его MainApplicationClass.java
.
Убедитесь, что ваш класс находится внутри пакета, иначе он может не работать. Также обратите внимание на имя моего пакета (me.salisuwy
), которое может отличаться от вашего.
Добавьте к классу аннотацию @SpringBootApplication
, чтобы сделать его приложением Spring Boot. Теперь вы можете запустить приложение.
Поздравляем, вы создали приложение Spring Boot.
Эй, подожди минутку. Почему localhost:8080
показывает ошибку? Это потому, что у нас нет контроллера для обработки наших HTTP-запросов.
Контроллер, C в MVC
Контроллер обрабатывает все входящие HTTP-запросы от пользователя и возвращает соответствующий ответ. На некоторых языках файлы маршрутов сопоставляют HTTP-запросы с соответствующим контроллером. Давайте создадим контроллер.
Создать BlogController.java
.
- Аннотация
@RestController
сообщает Spring, что этот класс является контроллером. - Аннотация
@RequestMapping(“/”)
означает, что любой запрос (GET
,POST
,PUT
и т. Д.) К корнюURL(/)
будет обрабатываться методомindex()
. Ответ имеет типString
.
Другими вариантами аннотации @RequestMapping
являются @GetMapping
, @PostMapping
и т. Д. Для обработки запросов GET
и POST
соответственно.
Что дальше
Прочтите следующее руководство здесь, где мы добавляем дополнительные функции в это приложение.