ما هو Spring Boot ولماذا هو مطلوب؟
\n\nSpring 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
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
- انتقل إلى start.spring.io \n
- اختر: Project (Maven)، Language (Java)، Spring Boot (أحدث إصدار مستقر) \n
- املأ البيانات الوصفية: Group (مثال: com.example)، Artifact (مثال: demo) \n
- أضف التبعيات: Spring Web، Spring Data JPA، H2 Database (كمثال) \n
- اضغط على "Generate" - سيتم تنزيل ملف ZIP بمشروع جاهز \n
- قم بفك الضغط وافتحه في بيئة التطوير المتكاملة IDE (IntelliJ IDEA، Eclipse، VS Code) \n
الخيار 2: Maven (تكوين يدوي)
\nأضف الكود التالي إلى pom.xml:
<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
\nplugins {\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: الفئة الرئيسية للتطبيق
\npackage 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