Spring#

Важно

Документация дорабатывается по мере развития продуктов Группы Астра и по пожеланиям пользователей.

Ваши пожелания и замечания направляйте на почту docs@astralinux.ru

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

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

Основные модули Spring:

  • Spring Core - основная библиотека,

  • Spring Web для построения веб-приложений и обработки HTTP-запросов,

  • Spring MVC - MVC фреймворк,

  • Spring Boot для быстрого создания приложений с минимальной конфигурацией,

  • Spring JDBC для взаимодействия с реляционными базами данных,

  • Spring Security для обеспечения безопасности приложений.

Spring Boot значительно упрощает начало работы с Spring, предоставляя удобные инструменты и конфигурации по умолчанию.

Основные пакеты для разработки с Spring Boot с использованием OpenJDK#

Пакет

Версия

Репозиторий

Описание

openjdk-17-jdk

17.0.13+11-2~deb12u1

extended

Комплект разработки ПО на Java

maven

3.8.7-1

extended

Инструмент для автоматической сборки проектов на Java и др. языках

gradle

4.4.1-18+b1

extended

Система для автоматической сборки проектов (в т.ч. на Java)

Конструктор приложений#

Spring Initializr — это официальный инструмент для быстрого создания Spring Boot проектов.

Для создания приложения необходимо перейти по ссылке https://start.spring.io/ и задать параметры:

  • систему управления проектами (Gradle или Maven),

  • язык программирования (Java, Kotlin, Groovy),

  • версия Spring Boot,

  • метаданные проекта (название, версия ЯП, тип упаковки и др.)

После можно скачать архив приложения или посмотреть наполнение файлов.

Создание Spring Boot приложения с Gradle#

Пункт 1#

  • Установка OpenJDK:

sudo apt install openjdk-17-jdk

Пункт 2#

  • систему управления проектами (Gradle - Groovy),

  • язык программирования (Java),

  • версия Spring Boot 3.4.5,

  • метаданные проекта (название, версия ЯП, тип упаковки и др.),

  • зависимости (Spring Web - для создания веб-приложений - и Thymeleaf - шаблонизатор для генерации HTML)

После скачать архив приложения и распаковать в целевой каталог.

Пункт 3#

  • Создание нового контроллера в src/main/java/com/example/demo/HelloController.java:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class HelloController {
    @GetMapping("/hello")
    String hello(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting"; // Возвращает имя шаблона
    }
}

Пункт 4#

  • Создание шаблонной страницы src/main/resources/templates/greeting.html:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Greeting</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Hello, <span th:text="${name}">World</span>!</h1>
<form action="/hello" method="get">
    <input type="text" name="name" placeholder="Enter your name">
    <button type="submit">Submit</button>
</form>
</body>
</html>

Пункт 5#

  • Сборка и запуск приложения:

./gradlew bootRun

В результате будет запущен сервер Tomcat, для получения приветственной страницы перейти по ссылке http://localhost:8080/hello.

Пункт 6#

  • Упаковка приложения (создание jar файла в каталоге build/libs/):

./gradlew bootJar
  • Запуск jar-файла:

java -jar build/libs/*.jar