0Pricing
Java Academy · درس

طبقات خدمات CRUD

نفّذ طبقة خدمة توفّر عمليات CRUD للكيانات.

طبقات خدمات CRUD درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في 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/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.

ماذا ستتعلم في «طبقات خدمات CRUD»؟

نفّذ طبقة خدمة توفّر عمليات CRUD للكيانات. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «طبقات خدمات CRUD»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. JPA/H2 والمستودعات
  2. طبقات خدمات CRUD
  3. معالجة الأخطاء وAdvice
← العودة إلى Java Academy