Forwarded from Димкина Визитка
Spring Boot: автоконфигурация и REST API ⚡ (Часть 2)
Привет, коллеги! 👋
Вторая часть про Spring. Сегодня — Spring Boot и создание REST API.
Что такое Spring Boot?
Spring Boot упрощает настройку Spring-приложений:
- Автоконфигурация
- Встроенные серверы (Tomcat, Jetty)
- Starter-зависимости
- Готовые production-фичи
Создание приложения
Структура проекта:
Основной класс:
Создание REST контроллера
Spring Boot Starters
Конфигурация через application.yml
Spring Boot Actuator
В третьей части разберем Spring Data JPA, транзакции и тестирование!
Какой ваш любимый Spring Boot starter? 👇
#springboot #restapi #java #spring
Привет, коллеги! 👋
Вторая часть про 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