23:47
Урок 40: Введение в Spring Boot

Курс по программированию на Java

Урок 40: Введение в Spring Boot

Spring Boot — это расширение Spring Framework, предназначенное для упрощения процесса создания, настройки и развертывания приложений. Spring Boot устраняет необходимость в значительной части конфигураций и позволяет быстро создавать готовые к использованию приложения на основе Spring. В этом уроке мы рассмотрим, как создать простое веб-приложение с использованием Spring Boot.

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

Для создания Spring Boot приложения можно воспользоваться инструментом Spring Initializr. Spring Boot автоматически настраивает ваше приложение на основе выбранных зависимостей. Пример простого Spring Boot приложения:

// 1. Создание проекта с использованием Spring Initializr (https://start.spring.io/)

// 2. Основной класс приложения
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
public class DemoApplication {
 public static void main(String[] args) {
 SpringApplication.run(DemoApplication.class, args);
 }
}

@RestController
class HelloController {
 @GetMapping("/hello")
 public String hello() {
 return "Hello, Spring Boot!";
 }
}

Результат выполнения

Hello, Spring Boot!

Упражнения

Упражнение 1: Создание RESTful сервиса

Создайте RESTful сервис, который будет возвращать список пользователей. Каждый пользователь должен иметь ID и имя.

Решение:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;

@SpringBootApplication
public class UserApplication {
 public static void main(String[] args) {
 SpringApplication.run(UserApplication.class, args);
 }
}

class User {
 private Long id;
 private String name;

 public User(Long id, String name) {
 this.id = id;
 this.name = name;
 }

 public Long getId() {
 return id;
 }

 public String getName() {
 return name;
 }
}

@RestController
class UserController {
 @GetMapping("/users")
 public List getUsers() {
 return Arrays.asList(
 new User(1L, "John"),
 new User(2L, "Jane"),
 new User(3L, "Doe")
 );
 }
}

Объяснение: В этом решении создается Spring Boot приложение с RESTful контроллером, который возвращает список пользователей. Каждый пользователь имеет ID и имя.

Упражнение 2: Добавление нового RESTful метода

Добавьте новый RESTful метод в ваш контроллер, который будет возвращать пользователя по его ID.

Решение:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;

@SpringBootApplication
public class UserApplication {
 public static void main(String[] args) {
 SpringApplication.run(UserApplication.class, args);
 }
}

class User {
 private Long id;
 private String name;

 public User(Long id, String name) {
 this.id = id;
 this.name = name;
 }

 public Long getId() {
 return id;
 }

 public String getName() {
 return name;
 }
}

@RestController
class UserController {
 private List users = Arrays.asList(
 new User(1L, "John"),
 new User(2L, "Jane"),
 new User(3L, "Doe")
 );

 @GetMapping("/users")
 public List getUsers() {
 return users;
 }

 @GetMapping("/users/{id}")
 public User getUserById(@PathVariable Long id) {
 Optional user = users.stream().filter(u -> u.getId().equals(id)).findFirst();
 return user.orElse(null);
 }
}

Объяснение: В этом решении добавлен новый метод, который принимает ID пользователя в URL и возвращает соответствующего пользователя. Если пользователь не найден, возвращается null.

Категория: Java | Просмотров: 14 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: