SPRING

Învață Spring Boot: comenzi explicate cu exemple

19 comenzi 7 categorii

Spring Boot este cel mai influent, matur și utilizat framework enterprise pentru dezvoltarea de microservicii și aplicații backend de mare scalabilitate pe Mașina Virtuală Java (JVM). Creat pentru a elimina configurările masive în XML din vechiul Spring Framework, Spring Boot adoptă principiul „Convention over Configuration” și oferă aplicații autonome (opinionated & production-ready) gata de lansare cu un simplu server HTTP integrat (Tomcat sau Netty).

Odată cu lansarea Spring Boot 3 (care impune Java 17/21 LTS ca cerință minimă), framework-ul a adus suport nativ complet pentru Compilare Ahead-Of-Time (AOT) cu GraalVM Native Image (pornire în sub 50 ms și consum de sub 40 MB RAM), integrarea firelor virtuale din Project Loom (Virtual Threads) și observabilitate unificată cu Micrometer Tracing.

Arhitectura Stratificată Enterprise în Spring Boot 3
# [Client HTTP Request]
#           │
#           ▼
# ┌─────────────────────────────────────────────────────────────┐
# │ Controller Layer (@RestController)                          │
# │ - Validează DTO-urile (@Valid) și expune rute RESTful       │
# └────────────────────────────┬────────────────────────────────┘
#                              │
#                              ▼
# ┌─────────────────────────────────────────────────────────────┐
# │ Service Layer (@Service)                                    │
# │ - Logica de business pură și demarcația tranzacțională      │
# │ - Adnotarea @Transactional (Atomicitate ACID garantată)      │
# └────────────────────────────┬────────────────────────────────┘
#                              │
#                              ▼
# ┌─────────────────────────────────────────────────────────────┐
# │ Repository / Data Layer (@Repository - Spring Data JPA)    │
# │ - Interogări SQL generate automat de Hibernate pe entități  │
# └────────────────────────────┬────────────────────────────────┘
#                              │
#                              ▼
#              [Bază de Date PostgreSQL / MySQL]

Pilonii Tehnologici ai Spring Boot 3

Modul Spring Boot Adnotare Cheie Funcționalitate Enterprise
Spring Web / MVC @RestController, @GetMapping Maparea cererilor HTTP, serializare Jackson JSON automată și validare RFC 7807.
Spring Data JPA @Repository, JpaRepository<T, ID> Generare dinamică de interogări SQL după numele metodei (ex: findByEmailAndActiveTrue).
Spring Security 6 @Configuration, SecurityFilterChain Autentificare OAuth 2.0 / JWT, protecție CSRF și autorizare declarativă la nivel de metodă (@PreAuthorize).
Spring Boot Actuator /actuator/health, /actuator/metrics Endpoint-uri native de producție pentru Kubernetes Liveness/Readiness Probes și Prometheus.
Controller REST Complet în Spring Boot 3
package ro.dexblog.demo.controller;

import jakarta.validation.Valid;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import ro.dexblog.demo.dto.OrderRequest;
import ro.dexblog.demo.model.Order;
import ro.dexblog.demo.service.OrderService;

@RestController
@RequestMapping("/api/v1/orders")
public class OrderController {

    private final OrderService orderService;

    // Injecție de dependințe prin constructor (Buna practică Spring):
    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }

    @PostMapping
    public ResponseEntity createOrder(@Valid @RequestBody OrderRequest request) {
        Order created = orderService.processOrder(request);
        return new ResponseEntity<>(created, HttpStatus.CREATED);
    }
}

core 7 comenzi

Arhitectură & IoC 1 comandă

Persistență & JPA 1 comandă

Securitate & Spring Security 1 comandă

GraalVM Native & AOT 1 comandă

web 6 comenzi

data 2 comenzi