Java Backend | YeaHub
934 subscribers
238 photos
28 videos
3 files
415 links
Теория, подготовка к интервью и курсы для Java разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
Spring Boot: автоконфигурация и REST API (Часть 2)

Привет, коллеги! 👋

Вторая часть про Spring. Сегодня — Spring Boot и создание REST API.

Что такое Spring Boot?

Spring Boot упрощает настройку Spring-приложений:
- Автоконфигурация
- Встроенные серверы (Tomcat, Jetty)
- Starter-зависимости
- Готовые production-фичи

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

Структура проекта:
src/main/java/
└── com/example/demo/
├── DemoApplication.java
├── controller/
├── service/
└── repository/


Основной класс:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}


Создание REST контроллера

@RestController
@RequestMapping("/api/users")
public class UserController {

private final UserService userService;

public UserController(UserService userService) {
this.userService = userService;
}

@GetMapping
public List<User> getAllUsers() {
return userService.findAll();
}

@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.findById(id);
}

@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public User createUser(@RequestBody User user) {
return userService.create(user);
}
}


Spring Boot Starters

<!-- В pom.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>


Конфигурация через application.yml

# application.yml
server:
port: 8081

spring:
datasource:
url: jdbc:postgresql://localhost:5432/mydb
username: user
password: pass

jpa:
hibernate:
ddl-auto: update
show-sql: true


Spring Boot Actuator

# Мониторинг приложения
management:
endpoints:
web:
exposure:
include: health,info,metrics


В третьей части разберем Spring Data JPA, транзакции и тестирование!

Какой ваш любимый Spring Boot starter? 👇

#springboot #restapi #java #spring
2🔥1🤝1