0Pricing
Java Academy · レッスン

CRUDサービス層

エンティティにCRUD操作を提供するサービス層を実装します。

「CRUDサービス層」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

導入

サービスレイヤーはコントローラーとリポジトリの間に位置し、ビジネスロジックを集約します。

コード:Userエンティティ

前に定義したUserエンティティを引き続き使用します。

import jakarta.persistence.*;@Entity
public class User {
  @Id @GeneratedValue
  private Long id;
  private String name;
  // getters/setters omitted
}

コード:サービスのCRUD

サービスはリポジトリの呼び出しをラップし、必要に応じてビジネスルールを追加します。

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); }
}

コード:サービスを使うコントローラー

コントローラーは、リポジトリを直接呼び出すのではなく、サービスを呼び出すようになります。

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); }
}

メリット

メリットは、コントローラーがすっきりすること、ロジックを再利用できること、テストが容易になること、アーキテクチャが明確になることです。

使用方法

エンドポイントをテストします:POST /users、GET /users、GET /users/{id}、DELETE /users/{id}。

サービスレイヤーの確認

クイックチェック:Spring Bootでサービスレイヤーが役立つのはなぜですか。

まとめ

まとめ:CRUDを備えたサービスレイヤーを作成し、コントローラーで使用して、処理を分離するメリットを確認しました。

よくある質問

「CRUDサービス層」レッスンは無料ですか?

はい。「CRUDサービス層」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「CRUDサービス層」で何を学びますか?

エンティティにCRUD操作を提供するサービス層を実装します。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。

「CRUDサービス層」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. JPA/H2とリポジトリ
  2. CRUDサービス層
  3. エラーハンドリングとAdvice
← Java Academyに戻る