CRUD-palvelukerrokset
Toteuttakaa service-kerros, joka tarjoaa entiteeteille CRUD-operaatiot.
CRUD-palvelukerrokset on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Palvelukerros sijaitsee ohjaimen ja repositoryn välissä. Se keskittää liiketoimintalogiikan.
Koodi: User-entiteetti
Jatkamme aiemmin määritellyllä User-entiteetillä.
import jakarta.persistence.*;@Entity
public class User {
@Id @GeneratedValue
private Long id;
private String name;
// getters/setters omitted
}
Koodi: palvelun CRUD
Palvelu käärii repository-kutsut ja lisää tarvittaessa liiketoimintasäännöt.
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); }
}
Koodi: palvelua käyttävä ohjain
Ohjain kutsuu nyt palvelua suoraan repositoryn sijaan.
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); }
}
Hyödyt
Hyötyjä ovat selkeämmät ohjaimet, uudelleenkäytettävä logiikka, helpompi testaaminen ja selkeämpi arkkitehtuuri.
Käyttö
Testatkaa päätepisteet: POST /users, GET /users, GET /users/{id}, DELETE /users/{id}.
Palvelukerroksen tarkistus
Pikatarkistus: Miksi palvelukerros on hyödyllinen Spring Bootissa?
Kertaus
Kertaus: Rakennettiin CRUD-toiminnot sisältävä palvelukerros, käytettiin sitä ohjaimessa ja nähtiin kerrosten erottelun hyödyt.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”CRUD-palvelukerrokset” ilmainen?
Kyllä – oppitunnin ”CRUD-palvelukerrokset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”CRUD-palvelukerrokset”?
Toteuttakaa service-kerros, joka tarjoaa entiteeteille CRUD-operaatiot. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.
Kuinka kauan ”CRUD-palvelukerrokset”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- JPA/H2 ja repositoryt
- CRUD-palvelukerrokset
- Virheenkäsittely ja Advice