Spring Boot هو إطار عمل مفتوح المصدر قائم على Java يُستخدم لإنشاء Micro Service. تم تطويره بواسطة Pivotal Team ويستخدم لبناء تطبيقات stand-alone مستقلة وجاهزة للإنتاج. سيعطيك هذا الفصل مقدمة عن Spring Boot وسيُعرّفك بمفاهيمه الأساسية.
ما هي Micro Service
Micro Service عبارة عن بنية تسمح للمطورين بتطوير الخدمات ونشرها بشكل مستقل. كل خدمة قيد التشغيل لها عمليتها الخاصة وهذا يحقق النموذج خفيف الوزن لدعم تطبيقات الأعمال.
مزايا الـ Micro Service
تقدم Micro Service المزايا التالية لمطوريها (سهولة النشر ، قابلية التوسع البسيطة ، متوافق مع الحاويات ، الحد الأدنى من التكوين ،
وقت إنتاج أقل).
ما هو Spring Boot ؟
يوفر Spring Boot منصة جيدة لمطوري Java لتطوير تطبيق ربيعي مستقل ومستوى إنتاجي يمكنك تشغيله للتو. يمكنك البدء بالحد الأدنى من التكوينات دون الحاجة إلى إعداد تكوين Spring بالكامل.
مزايا Spring Boot
يقدم Spring Boot المزايا التالية لمطوريه (من السهل فهم وتطوير تطبيقات Spring Boot ، يزيد الإنتاجية ، يقلل من وقت التطوير).
أهداف Spring Boot
تم تصميم Spring Boot لتحقيق الأهداف التالية :
1 – لتجنب تكوين XML المعقد في Spring Boot
2 – تطوير تطبيقات Spring الجاهزة للإنتاج بطريقة أسهل
3 – لتقليل وقت التطوير وتشغيل التطبيق بشكل مستقل
4 – تقديم طريقة أسهل لبدء التطبيق
لماذا نستخدم Spring Boot ؟
يمكنك اختيار Spring Boot نظرًا للميزات والفوائد التي يقدمها كما هو موضح هنا
1 – يوفر طريقة مرنة لتكوين Java Beans وتكوينات XML ومعاملات قاعدة البيانات.
2 – يوفر معالجة دفعية قوية ويدير نقاط نهاية REST.
3 – في Spring Boot، يتم تكوين كل شيء تلقائيًا؛ ليست هناك حاجة إلى تكوينات يدوية.
4 – وهو يقدم تطبيق الربيع القائم على الشرح.
5 – يسهل إدارة التبعية.
6 – يتضمن حاوية Servlet مدمجة
كيف يعمل Spring Boot ؟
يقوم Spring Boot تلقائيًا بتكوين تطبيقك بناءً على التبعيات التي أضفتها إلى المشروع باستخدام التعليق التوضيحي @EnableAutoConfiguration. على سبيل المثال، إذا كانت قاعدة بيانات MySQL موجودة في مسار الفصل الدراسي الخاص بك، ولكنك لم تقم بتكوين أي اتصال بقاعدة البيانات، فسيقوم Spring Boot تلقائيًا بتكوين قاعدة بيانات في الذاكرة.
نقطة الدخول لتطبيق التمهيد الربيعي هي أن الفئة تحتوي على تعليق توضيحي @SpringBootApplication والطريقة الرئيسية.
يقوم Spring Boot تلقائيًا بفحص جميع المكونات المضمنة في المشروع باستخدام التعليق التوضيحي @ComponentScan.
Spring Boot Starters
يعد التعامل مع إدارة التبعية dependency management مهمة صعبة بالنسبة للمشاريع الكبيرة. يعمل Spring Boot على حل هذه المشكلة من خلال توفير مجموعة من التبعيات لراحة المطورين.
على سبيل المثال، إذا كنت تريد استخدام Spring وJPA للوصول إلى قاعدة البيانات، فيكفي أن تقوم بتضمين تبعية Spring-boot-starter-data-jpa في مشروعك.
لاحظ أن جميع مشغلات Spring Boot تتبع نفس نمط التسمية Spring-boot-starter- *، حيث تشير * إلى أنه نوع من التطبيق.
أمثلة Spring Boot
انظر إلى مشغلات Spring Boot التالية الموضحة أدناه للحصول على فهم أفضل :
يتم استخدام تبعية Spring Boot Starter Actuator لمراقبة وإدارة التطبيق الخاص بك. يظهر الكود الخاص به أدناه
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-actuator</ artifactId > </ dependency > |
يتم استخدام تبعية Spring Boot Starter Security لـ Spring Security. يظهر الكود الخاص به أدناه
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-security</ artifactId > </ dependency > |
يتم استخدام تبعية الويب Spring Boot Starter web dependency لكتابة نقاط نهاية الراحة. يظهر الكود الخاص به أدناه
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > |
يتم استخدام تبعية Spring Boot Starter Thyme Leaf dependency لإنشاء تطبيق ويب. يظهر الكود الخاص به أدناه
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-thymeleaf</ artifactId > </ dependency > |
يتم استخدام تبعية اختبار Spring Boot Starter Test dependency لكتابة حالات الاختبار. يظهر الكود الخاص به أدناه
1 2 3 4 | < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-test</ artifactId > </ dependency > |
التكوين التلقائي Auto Configuration
يقوم Spring Boot Auto Configuration تلقائيًا بتكوين تطبيق Spring الخاص بك بناءً على تبعيات JAR التي أضفتها في المشروع. على سبيل المثال، إذا كانت قاعدة بيانات MySQL موجودة على مسار الفصل الدراسي الخاص بك، لكنك لم تقم بتكوين أي اتصال بقاعدة البيانات، فسيقوم Spring Boot تلقائيًا بتكوين قاعدة بيانات في الذاكرة.
لهذا الغرض، تحتاج إلى إضافة تعليق توضيحي @EnableAutoConfiguration أو تعليق توضيحي @SpringBootApplication إلى ملف الفصل الرئيسي الخاص بك. بعد ذلك، سيتم تكوين تطبيق Spring Boot تلقائيًا.
لاحظ الكود التالي لفهم أفضل
1 2 3 4 5 6 7 8 9 | import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @EnableAutoConfiguration public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication. class , args); } } |
Spring Boot Application
نقطة الدخول لتطبيق Spring Boot هي أن الفئة تحتوي على تعليق توضيحي @SpringBootApplication. يجب أن يكون لدى هذه الفئة الطريقة الرئيسية لتشغيل تطبيق Spring Boot. يتضمن التعليق التوضيحيSpringBootApplication التكوين التلقائي، وفحص المكونات، وتكوين Spring Boot.
إذا قمت بإضافة تعليق توضيحي @SpringBootApplication إلى الفصل، فلن تحتاج إلى إضافة تعليق توضيحي @EnableAutoConfiguration و@ComponentScan و@SpringBootConfiguration. يتضمن التعليق التوضيحيSpringBootApplication جميع التعليقات التوضيحية الأخرى.
لاحظ الكود التالي لفهم أفضل
1 2 3 4 5 6 7 8 9 | import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication. class , args); } } |
Component Scan
يقوم تطبيق Spring Boot بفحص جميع إعلانات الحبوب والحزم عند تهيئة التطبيق. تحتاج إلى إضافة تعليق توضيحي @ComponentScan لملف الفصل الدراسي الخاص بك لفحص المكونات المضافة في مشروعك.
1 2 3 4 5 6 7 8 9 | import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan; @ComponentScan public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication. class , args); } } |