Warstwa usług CRUD
Zaimplementują Państwo warstwę usług udostępniającą operacje CRUD dla encji.
Warstwa usług CRUD to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Warstwa serwisowa znajduje się między kontrolerem a repozytorium. Centralizuje logikę biznesową.
Kod: encja User
Kontynuujemy pracę z utworzoną wcześniej encją User.
import jakarta.persistence.*;@Entity
public class User {
@Id @GeneratedValue
private Long id;
private String name;
// getters/setters omitted
}
Kod: CRUD w serwisie
Serwis opakowuje wywołania repozytorium i w razie potrzeby dodaje reguły biznesowe.
import org.springframework.stereotype.Service;import java.util.*;
@Service
public class UserService {
private final UserRepository repo;
public UserService(UserRepository repo) { this.repo = repo; }
public List<User> all() { return repo.findAll(); }
public User add(User u) { return repo.save(u); }
public Optional<User> find(Long id) { return repo.findById(id); }
public void delete(Long id) { repo.deleteById(id); }
}
Kod: kontroler z serwisem
Kontroler wywołuje teraz serwis zamiast bezpośrednio korzystać z repozytorium.
import org.springframework.web.bind.annotation.*;import java.util.*;@RestController
@RequestMapping("/users")
public class UserController {
private final UserService service;
public UserController(UserService service) { this.service = service; }
@GetMapping
public List<User> all() { return service.all(); }
@PostMapping
public User add(@RequestBody User u) { return service.add(u); }
@GetMapping("/{id}")
public User one(@PathVariable Long id) { return service.find(id).orElse(null); }
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) { service.delete(id); }
}
Korzyści
Korzyści: czystsze kontrolery, możliwość ponownego użycia logiki, łatwiejsze testowanie i bardziej przejrzysta architektura.
Użycie
Należy przetestować endpointy: POST /users, GET /users, GET /users/{id}, DELETE /users/{id}.
Sprawdzenie warstwy serwisowej
Szybkie sprawdzenie: Dlaczego warstwa serwisowa jest przydatna w Spring Boot?
Podsumowanie
Podsumowanie: Zbudowano warstwę serwisową z operacjami CRUD, użyto jej w kontrolerze i poznano korzyści z rozdzielenia odpowiedzialności.
Często zadawane pytania
Czy lekcja „Warstwa usług CRUD” jest bezpłatna?
Tak — pełny tekst „Warstwa usług CRUD” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Warstwa usług CRUD”?
Zaimplementują Państwo warstwę usług udostępniającą operacje CRUD dla encji. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.
Ile czasu zajmuje lekcja „Warstwa usług CRUD”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- JPA/H2 i repozytoria
- Warstwa usług CRUD
- Obsługa błędów i Advice