هيكل الربيع

الإطار الربيعي هو واحد من أكثر الإطارات شعبية في Java EE. في هذا المقال، سنتعرف على ما يلي:

  • هندسة الإطار الربيعي
  • المكونات الأساسية للربيع
  • مشاريع متنوعة تحت مظلة الإطار الربيعي.

I looked at the Google Trends chart for Spring Framework, Servlet, JSP, and JSF. It’s clear that Spring is far ahead from all other Java EE technologies.

Spring Framework – Google Trends

ما هو الإطار الربيعي؟

الربيع هو واحد من أشهر الإطارات لنماذج Java المؤسسة. يستخدم المطورون في جميع أنحاء العالم الربيع لتطوير تطبيقات موثوقة وعالية الجودة. تم تصميم إطار الربيع بواسطة رود جونسون. منذ ذلك الحين، أصبح الربيع تكنولوجيا بديلة في عالم Java لنموذج EJB. يمكنك إنشاء أنواع مختلفة من التطبيقات باستخدام إطار الربيع.

مفاهيم الربيع الأساسية – DI، IoC، AOP

  • من المستحيل فهم ما هو الإطار الربيعي دون فهم ما هي حقن الاعتمادات وعكس التحكم. حقن الاعتمادات المعروفة أيضًا باسم DI، هي واحدة من أنواع عكس التحكم (IoC).
  • تقليب التحكم – هذه هي مبدأ البرمجة الشيئية، حيث لا تعتمد كائنات البرنامج على تنفيذات محددة لكائنات أخرى، ولكن قد تمتلك معرفة بتجريداتها (الواجهات) للتفاعل لاحقًا.
  • حقن التبعية – هو تركيبة من أنماط التصميم الهيكلية، حيث يوجد لكل وظيفة في التطبيق كائن مستقل (خدمة) قد تحتاج إلى استخدام كائنات أخرى (تبعيات) معروفة لها من خلال الواجهات. يتم نقل التبعيات (التنفيذات) إلى الخدمة في وقت إنشائها. هذا هو الحالة التي ندخل فيها عنصرًا من فئة واحدة في أخرى. في الممارسة، يتم تنفيذ DI عن طريق تمرير المعلمات إلى البناء أو باستخدام المعينات. تُطلق على المكتبات التي تنفذ هذا النهج أيضًا اسم حاويات IoC.
  • برمجة موجهة للجوانب – هي نمط برمجي يسمح بتمييز الوظائف العابرة (الوظائفية) في التطبيق. تُسمى هذه الوظائف، التي تمتد عبر عقد تطبيق متعددة، بالمخاوف العابرة وتُفصل هذه الملاحظات العابرة عن المنطق التجاري الفوري للتطبيق. في البرمجة الشيئية، الوحدة الرئيسية هي الفئة، بينما في AOP، العنصر الرئيسي هو الجانب. يساعد DI في فصل فئات التطبيق إلى وحدات منفصلة، ويساعد AOP في فصل المخاوف العابرة عن الكائنات التي تؤثر عليها.

بنية الإطار الربيعي

ينقسم إطار الربيع إلى عدة وحدات منفصلة، مما يتيح لك اختيار أي منها لاستخدامه في تطبيقك. يوضح الصورة أدناه أهم وحدات بنية إطار الربيع. دعونا نتعرف على وحدات البيئة الربيعية واحدة تلو الأخرى.

مكونات نواة إطار الربيع

يتكون الحاوية الأساسية من الربيع من أربع وحدات: SpEL، Context، Core، Beans. وفيما يلي وصف لهذه العناصر:

  1. توفر وحدة SpEL لغة تعبير قوية لتلاعب الكائنات أثناء التنفيذ.
  2. تم بناء السياق على أساس الوحدتين Beans و Core، وتتيح لك الوصول إلى أي كائن يتم تعريفه في الإعدادات. العنصر الرئيسي في وحدة السياق هو واجهة ApplicationContext.
  3. توفر وحدة Core الأجزاء الرئيسية للإطار، بما في ذلك خصائص IoC و DI.
  4. تتولى وحدة الفاصوليا إنشاء وإدارة فاصوليا الربيع – وحدة هيكل السياق التطبيق.

إطار العمل Spring للويب

يتكون إطار العمل Spring للويب من الطبقة الويب، والويب-إم في سي، والويب-سوكيت، والويب-بورتليه، إلخ.

  1. يوفر وحدة الويب وظائف مثل تنزيل الملفات، وإنشاء تطبيقات الويب، وخدمات الويب الراحلة، إلخ.
  2. تحتوي الويب-إم في سي على تنفيذ لـ Spring MVC لتطبيقات الويب.
  3. توفير الويب-سوكيت دعماً للتواصل بين العميل والخادم، باستخدام ويب-سوكيت في تطبيقات الويب.
  4. توفير الويب-بورتليه تنفيذًا لنمط MVC في بيئة البورتليه

إطار العمل Spring للوصول إلى البيانات

تتألف حاوية الوصول/التكامل من JDBC، ORM، OXM، JMS، ووحدة المعاملات.

  1. توفر JDBC طبقةً مجردة عن JDBC وتقضي على الحاجة للمطور لتسجيل الشيفرة المملة المرتبطة بالاتصال بقاعدة البيانات يدويًا.
  2. توفر Spring ORM تكاملًا مع أنظمة ORM الشهيرة مثل Hibernate، JDO، والتي تعتبر تنفيذات لـ JPA.
  3. الوحدة OXM مسؤولة عن ربط الكائن / XML – XMLBeans، JAXB، الخ.
  4. وحدة JMS (Java Messaging Service) مسؤولة عن إنشاء، إرسال واستقبال الرسائل.
  5. تدعم العمليات إدارة العمليات للفئات التي تنفذ بعض الأساليب وPOJOs.

وحدات متنوعة

تتضمن Spring أيضًا عدة وحدات هامة أخرى، مثل AOP، Aspects، Instrumentation، Messaging، و Test.

  1. تنفذ AOP برمجة الجوانب وتتيح استخدام كامل ترسانة قدرات برمجة الجوانب.
  2. توفر وحدة Aspects تكاملًا مع AspectJ، وهو أيضًا إطار AOP قوي.
  3. الأداة هي المسؤولة عن دعم أداة تأليف الطبقات ومحمل الطبقات، التي تستخدم في تطبيقات الخادم.
  4. تقدم وحدة Messaging دعمًا لبروتوكول STOMP.
  5. أخيرًا، توفر وحدة Test الاختبار باستخدام TestNG أو إطار عمل JUnit.

ميزات الإصدار 5 من Spring

جلب الإصدار 5 من Spring تحديثًا ضخمًا إلى Spring 4. بعض الميزات الهامة في الإصدار 5 من Spring هي:

  1. دعم لجافا 8، جافا 9، جافا إي إي 7، جافا إي إي 8، سيرفلت 4.0، تحقق من صحة الفاصلة الفاصلة 2.0، و JPA 2.2. أنا سعيد برؤية أن Spring يحاول مواكبة أحدث إصدارات التقنيات الرئيسية المستخدمة.
  2. تحسين التسجيل مع وحدة جديدة – spring-jcl.
  3. تستخدم عمليات الملفات تيارات NIO 2، وبالتالي تحسين الأداء.
  4. دعم لـ Reactor 3.1 Flux و Mono بالإضافة إلى RxJava 1.3 و 2.1 كقيم إرجاع من طرق تحكم Spring MVC.
  5. دعم لـ Kotlin، Project Lombok، واجهة برمجة تطبيقات JSON كبديل لـ Jackson و GSON.
  6. Spring WebFlux – Spring يحصل على الانتقالية.
  7. دعم لـ JUnit 5
  8. دعم البرمجة الوظيفية من خلال Kotlin.

يمكنك فحص مشاريع Spring على مستودعنا GitHub Repository.

المراجع: موقع Spring الرسمي، توثيق مرجع Spring

Source:
https://www.digitalocean.com/community/tutorials/spring-framework