حذاء الربيع
Spring Boot هو إطار عمل جافا مفتوح المصدر يُستخدم لبرمجة تطبيقات Spring مستقلة وجاهزة للإنتاج، مع مجموعة من المكتبات التي تُسهّل بدء المشروع وإدارته. [ 3 ] يُعد Spring Boot امتدادًا لمنصة Spring Java يعتمد على مبدأ "الاتفاقيات بدلًا من التكوين" ، ويهدف إلى تقليل مشاكل التكوين أثناء إنشاء تطبيقات Spring. [ 4 ] [ 5 ] لا يزال من الممكن تعديل التطبيق ليناسب احتياجات محددة، ولكن مشروع Spring Boot الأولي يُقدّم "عرضًا مُسبق التكوين" لأفضل تكوين يُمكن استخدامه مع منصة Spring ومكتبات خارجية مُختارة . [ 6 ] [ 7 ]
يمكن استخدام Spring Boot لبناء الخدمات المصغرة وتطبيقات الويب وتطبيقات سطر الأوامر . [ 3 ] [ 8 ]
سمات
- خادم تطبيقات الويب المدمج Tomcat أو Jetty أو Undertow . [ 9 ]
- يُوفّر نماذج كائنات المشروع (POMs) "ابتدائية" مُحدّدة مسبقًا لأداة البناء. أدوات البناء الوحيدة المدعومة هي Maven و Gradle . [ 10 ] [ 11 ]
- التكوين التلقائي لتطبيق Spring. [ 12 ]
- يوفر وظائف جاهزة للإنتاج [ 4 ] مثل المقاييس ، [ 13 ] وفحوصات السلامة، [ 13 ] والتكوين الخارجي. [ 14 ]
- لا يتطلب الأمر توليد أي كود . [ 9 ]
- لا يتطلب الأمر أي تهيئة باستخدام XML . [ 10 ]
- دعم اختياري للغة Kotlin و Apache Groovy بالإضافة إلى Java. [ 3 ] [ 15 ]
تهيئة DispatcherServlet
لا يتطلب Spring Boot تكوينًا يدويًا لـ DispatcherServlet، حيث يقوم تلقائيًا بتكوين التطبيق بناءً على التكوين الذي يكتشفه. [ 16 ]
SpringBootServletInitializer
يحتوي Spring Boot على فئة SpringBootServletInitializer، وهي تخصص من الفئة WebApplicationInitializer. [ 16 ] هذا SpringBootServletInitializerتطبيق جاهز للاستخدام للفئة WebApplicationInitializer، مما يلغي حاجة المطور إلى إنشاء تطبيقه الخاص للفئة WebApplicationInitializer. [ 16 ]
خصائص التكوين
يمكن تحديد خصائص تكوين تطبيق Spring Boot في ملف . application.propertiesأو . [ 16 ] ومن أمثلة الخصائص التي يمكن تضمينها في هذا الملف خصائص و . [ 16 ]application.ymlserver.portspring.application.name
التكوين التلقائي
@SpringBootApplication
يحتوي Spring Boot على تعليق توضيحي، @SpringBootApplicationيسمح لتطبيق Spring Boot بتهيئة مكتبات الطرف الثالث والميزات المكتشفة الموجودة في مسار الفئة تلقائيًا . [ 16 ] على سبيل المثال، يمكن للفئة التي تحتوي على هذا @SpringBootApplicationالتعليق التوضيحي أن ترث من SpringBootServerInitializerالفئة إذا تم تجميع التطبيق ونشره كملف WAR . [ 16 ]
يجمع هذا @SpringBootApplicationالتعليق التوضيحي ثلاثة تعليقات توضيحية خاصة بـ Spring :@SpringBootConfiguration و @EnableAutoConfiguration. [ 17@ComponentScan ]
@SpringBootConfiguration
يُعد هذا @SpringBootConfigurationالتعليق التوضيحي نوعًا خاصًا من التعليق التوضيحي الخاص بـ Spring @Configuration. [ 17 ] تُعتبر الفئة التي تحتوي على هذا @SpringBootConfigurationالتعليق التوضيحي فئة التكوين لتطبيق Spring Boot. [ 17 ]
@EnableAutoConfiguration
هذا @EnableAutoConfigurationالتعليق التوضيحي خاص بـ Spring، وهو يُمكّن Spring Boot من التهيئة التلقائية. [ 17 ]
المشغل
يُتيح مُشغّل Spring Boot إمكانية مراقبة وإدارة تطبيق Spring Boot. [ 18 ] ومن أهم مزايا استخدام مُشغّل Spring Boot أنه يُوفّر عددًا من الميزات الجاهزة للاستخدام في بيئة الإنتاج دون الحاجة إلى قيام المُطوّر بإنشاء تطبيقاته الخاصة. [ 18 ]
إذا تم استخدام Maven كأداة بناء، spring-boot-starter-actuatorفيمكن تحديد التبعية في pom.xmlملف التكوين. [ 19 ]
التكامل مع وحدات إطار عمل Spring
يحتوي Spring Boot على عدد من وحدات Spring Framework الموجودة.
أمن الربيع
يتكامل Spring Boot مع وحدة Spring Security . وأبسط طريقة لدمج Spring Boot مع Spring Security هي تعريف تبعية البداية في ملف تكوين البناء. [ 20 ]
إذا تم استخدام Maven كأداة بناء، spring-boot-starter-securityفيمكن تحديد التبعية باستخدام معرف العنصر (artifact ID dependency) في pom.xmlملف التكوين. [ 20 ]
خوادم التطبيقات
يوفر Spring Boot افتراضيًا خوادم ويب مدمجة (مثل Tomcat ) جاهزة للاستخدام. [ 21 ] ومع ذلك، يمكن أيضًا نشر Spring Boot كملف WAR على خادم تطبيقات WildFly مستقل . [ 22 ]
إذا تم استخدام Maven كأداة بناء، فهناك wildfly-maven-pluginإضافة Maven تسمح بالنشر التلقائي لملف WAR المُنشأ. [ 22 ]
مراجع
- ↑ "Spring Boot v1.0.0.RELEASE" . github.com.
- ↑ "الإصدار 4.1.0" . 10 يونيو 2026. تم الاطلاع عليه بتاريخ 11 يونيو 2026 .
- 1 2 3 "دليل Spring Boot - تعلم Spring Boot" . GeeksforGeeks . 2023-05-08 . تم الاطلاع عليه بتاريخ 2024-04-05 .
- 1 2 Walls 2016 ، ص. السابع ، §مقدمة.
- ↑ Walls 2016 ، ص 37-48 ، §2.3.
- ↑ Walls 2016 ، ص 48 ، §2.4.
- ^ دينوم وكوزمينا 2021 ، الصفحات من 21 إلى 22، §2 أساسيات إطار الربيع.
- ↑ "تطبيق وحدة تحكم Spring Boot" . Baeldung . 2024-01-08 . تم الاسترجاع في 2024-09-20 .
- 1 2 Walls 2016 ، ص. 7 ، §1.1.3.
- 1 2 Walls 2016 ، ص. س، §مقدمة.
- ↑ Musib 2022 ، ص. 9 ، §1.2.1 Maven مقابل Gradle.
- ↑ Walls 2016 ، ص 4-5 ، §1.1.2.
- 1 2 Walls 2016 ، ص 124–139 ، §7.
- ↑ Walls 2016 ، ص 49-69 ، §3.1-§3.2.3.
- ↑ "دعم اللغة" . إطار عمل سبرينغ .
- 1 2 3 4 5 6 7 Deinum & Cosmina 2021 ، ص 52-54 ، §2 أساسيات إطار عمل Spring - Spring Boot.
- 1 2 3 4 Walls 2019 ، ص 11-17 ، §1.2.2 فحص هيكل مشروع الربيع.
- 1 2 Musib 2022 ، ص 144-145 ، §4.4 مشغل Spring Boot.
- ↑ Musib 2022 ، ص 145-146 ، §4.4.1 تكوين Spring Boot Actuator في تطبيق Spring Boot.
- 1 2 Musib 2022 ، ص 187-192 ، §5.2.1 تكوين Spring Boot Actuator في تطبيق Spring Boot.
- ↑ Musib 2022 ، الصفحات 7-8 ، §1.1.4 مكونات Spring Boot.
- 1 2 Musib 2022 ، ص 406-417 ، §9.2 نشر تطبيق Spring Boot كملف WAR في خادم تطبيقات wildfly.
- دينوم، مارتن؛ كوزمينا، يوليانا (2021). Pro Spring MVC مع WebFlux . بيركلي، كاليفورنيا: أبريل. دوى : 10.1007/978-1-4842-5666-4 . رقم ISBN 978-1-4842-5665-7. S2CID 231672329 .
- موسيب، سومناث (12 يوليو 2022). حذاء الربيع عمليًا . سايمون وشوستر. ISBN 978-1-61729-881-3.
- والز، كريج (3 يناير 2016). حذاء الربيع في العمل . مانينغ . ISBN 978-1-61729-254-5.
- والز، كريج (2019). الربيع في الحركة . مانينغ . ISBN 978-1-61729-494-5.
روابط خارجية
- البرمجة الموجهة نحو الجوانب
- منصة جافا للمؤسسات
- أطر عمل الويب
