Spring Boot لجافا: دليل شامل مع أمثلة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ما هو Spring Boot ولماذا هو مطلوب؟

\n\n

Spring Boot هو إطار عمل لإنشاء تطبيقات جافا، وهو طبقة فوق إطار Spring Framework الشهير. هدفه الرئيسي هو تبسيط وتسريع تطوير تطبيقات جاهزة للإنتاج إلى أقصى حد، مما يريح المطور من التكوين الروتيني.

\n\n

المشاكل الرئيسية التي يحلها Spring Boot:

\n
    \n
  • التكوين التلقائي: يقوم الإطار تلقائيًا بتكوين الحبوب (Beans) والمكونات بناءً على التبعيات المضافة إلى المشروع. لست بحاجة إلى كتابة تكوينات XML أو فئات جافا يدويًا لإعداد DataSource أو JPA أو Security وما إلى ذلك.
  • \n
  • خادم مدمج: تعمل تطبيقات Spring Boot كملفات JAR مستقلة مع خادم Tomcat أو Jetty أو Undertow مدمج. هذا يلغي الحاجة إلى نشر ملفات WAR على خادم خارجي.
  • \n
  • جاهز للإنتاج: يوفر فورًا مقاييس (metrics)، وفحوصات الصحة (health checks)، وتكوينًا خارجيًا عبر application.properties/yml.
  • \n
  • الحد الأدنى من التكوين: تعمل تبعيات البداية (starters) على تجميع المكتبات ذات الصلة، بحيث يمكنك إضافة تبعية واحدة بدلاً من عشر تبعيات.
  • \n
\n\n

Spring Boot مثالي لإنشاء الخدمات المصغرة (Microservices)، وواجهات برمجة التطبيقات REST، وتطبيقات الويب، ومعالجة البيانات المجمعة، وأنظمة المؤسسات (Enterprise).

\n\n

تثبيت Spring Boot

\n\n

لا يتم تثبيت Spring Boot عبر pip أو npm. إنه إطار عمل جافا يتم إضافته كتبعية في نظام البناء Maven أو Gradle. الطريقة الموصى بها للبدء هي استخدام Spring Initializr.

\n\n

الخيار 1: Spring Initializr (موصى به)

\n
    \n
  1. انتقل إلى start.spring.io
  2. \n
  3. اختر: Project (Maven)، Language (Java)، Spring Boot (أحدث إصدار مستقر)
  4. \n
  5. املأ البيانات الوصفية: Group (مثال: com.example)، Artifact (مثال: demo)
  6. \n
  7. أضف التبعيات: Spring Web، Spring Data JPA، H2 Database (كمثال)
  8. \n
  9. اضغط على "Generate" - سيتم تنزيل ملف ZIP بمشروع جاهز
  10. \n
  11. قم بفك الضغط وافتحه في بيئة التطوير المتكاملة IDE (IntelliJ IDEA، Eclipse، VS Code)
  12. \n
\n\n

الخيار 2: Maven (تكوين يدوي)

\n

أضف الكود التالي إلى pom.xml:

\n
<parent>\n    <groupId>org.springframework.boot</groupId>\n    <artifactId>spring-boot-starter-parent</artifactId>\n    <version>3.2.0</version>\n    <relativePath/>\n</parent>\n\n<dependencies>\n    <dependency>\n        <groupId>org.springframework.boot</groupId>\n        <artifactId>spring-boot-starter-web</artifactId>\n    </dependency>\n</dependencies>\n\n<build>\n    <plugins>\n        <plugin>\n            <groupId>org.springframework.boot</groupId>\n            <artifactId>spring-boot-maven-plugin</artifactId>\n        </plugin>\n    </plugins>\n</build>
\n\n

الخيار 3: Gradle

\n
plugins {\n    id 'java'\n    id 'org.springframework.boot' version '3.2.0'\n    id 'io.spring.dependency-management' version '1.1.4'\n}\n\ngroup = 'com.example'\nversion = '0.0.1-SNAPSHOT'\n\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation 'org.springframework.boot:spring-boot-starter-web'\n}
\n\n

بداية سريعة: Hello World على Spring Boot

\n\n

لننشئ تطبيق REST بسيطًا يعيد "Hello, PythonLib!".

\n\n

الخطوة 1: الفئة الرئيسية للتطبيق

\n
package com.example.demo;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\n@SpringBootApplication\npublic class DemoApplication {\n    public static void main(String[] args) {\n        SpringApplication.run(DemoApplication.class                    

توصيات