Spring Framework – نظرة عامة

Spring Framework

Spring هو إطار عمل تطوير التطبيقات الأكثر شيوعًا لـ Java للمؤسسات. يستخدم الملايين من المطورين حول العالم Spring Framework لإنشاء أكواد برمجية عالية الأداء وقابلة للاختبار بسهولة وإعادة الاستخدام.

إطار الربيع هو منصة جافا مفتوحة المصدر. تمت كتابته في البداية بواسطة رود جونسون وتم إصداره لأول مرة بموجب ترخيص Apache 2.0 في يونيو 2003.

الربيع خفيف الوزن عندما يتعلق الأمر بالحجم والشفافية. يبلغ حجم الإصدار الأساسي من Spring Framework حوالي 2 ميجابايت.

يمكن استخدام الميزات الأساسية لـ Spring Framework في تطوير أي تطبيق Java، ولكن هناك امتدادات لبناء تطبيقات الويب أعلى منصة Java EE. يهدف إطار الربيع إلى جعل تطوير J2EE أسهل في الاستخدام ويعزز ممارسات البرمجة الجيدة من خلال تمكين نموذج البرمجة القائم على POJO.

مميزات إستخدام Spring Framework

فيما يلي قائمة ببعض الفوائد الرائعة لاستخدام Spring Framework :

1 – يمكّن Spring المطورين من تطوير تطبيقات على مستوى المؤسسات باستخدام POJOs. تكمن فائدة استخدام POJO فقط في أنك لا تحتاج إلى منتج حاوية EJB مثل خادم التطبيقات ولكن لديك خيار استخدام حاوية servlet قوية فقط مثل Tomcat أو بعض المنتجات التجارية.

2 – يتم تنظيم الربيع بطريقة معيارية. على الرغم من أن عدد الحزم والفئات كبير، إلا أنه عليك أن تقلق فقط بشأن الحزم التي تحتاجها وتتجاهل الباقي.

3 – لا يقوم Spring بإعادة اختراع العجلة، بل إنه يستخدم حقًا بعض التقنيات الحالية مثل العديد من أطر ORM، وأطر التسجيل، ومؤقتات JEE، وQuartz، وJDK، وتقنيات العرض الأخرى.

4 – يعد اختبار التطبيق المكتوب باستخدام Spring أمرًا بسيطًا لأن التعليمات البرمجية المعتمدة على البيئة يتم نقلها إلى هذا الإطار. علاوة على ذلك، باستخدام JavaBeanstyle POJOs، يصبح من الأسهل استخدام حقن التبعية لحقن بيانات الاختبار.

5 – إطار عمل الويب الخاص بـ Spring هو إطار عمل ويب MVC مصمم جيدًا، ويوفر بديلاً رائعًا لأطر الويب مثل Struts أو أطر الويب الأخرى ذات الهندسة الزائدة أو الأقل شيوعًا.

6 – يوفر Spring واجهة برمجة تطبيقات ملائمة لترجمة الاستثناءات الخاصة بالتكنولوجيا (التي يتم طرحها بواسطة JDBC أو Hibernate أو JDO، على سبيل المثال) إلى استثناءات متسقة وغير محددة.

7 – تميل حاويات IoC خفيفة الوزن إلى أن تكون خفيفة الوزن، خاصة عند مقارنتها بحاويات EJB، على سبيل المثال. يعد هذا مفيدًا لتطوير التطبيقات ونشرها على أجهزة الكمبيوتر ذات الذاكرة المحدودة وموارد وحدة المعالجة المركزية.

8 – يوفر Spring واجهة إدارة معاملات متسقة يمكن تقليصها إلى معاملة محلية (باستخدام قاعدة بيانات واحدة، على سبيل المثال) وتوسيع نطاقها إلى المعاملات العالمية (باستخدام JTA، على سبيل المثال).

حقن التبعية Dependency Injection (DI)

التكنولوجيا الأكثر شهرة في Spring هي نكهة حقن التبعية (DI) لانعكاس التحكم. إن انقلاب التحكم (IoC) هو مفهوم عام، ويمكن التعبير عنه بعدة طرق مختلفة. يعد حقن التبعية مجرد مثال ملموس على انقلاب التحكم.

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

ما هو حقن التبعية بالضبط؟ دعونا ننظر إلى هاتين الكلمتين بشكل منفصل. هنا يُترجم جزء التبعية إلى ارتباط بين فئتين. على سبيل المثال، الفئة أ تعتمد على الفئة ب. الآن، دعونا نلقي نظرة على الجزء الثاني، الحقن. كل هذا يعني أنه سيتم حقن الفئة B في الفئة A بواسطة IoC.

يمكن أن يحدث حقن التبعية عن طريق تمرير المعلمات إلى المُنشئ أو عن طريق ما بعد الإنشاء باستخدام طرق الضبط. نظرًا لأن حقن التبعية هو قلب Spring Framework، فسوف نشرح هذا المفهوم في فصل منفصل مع الأمثلة ذات الصلة.

البرمجة الموجهة نحو الجانب Aspect Oriented Programming (AOP)

أحد المكونات الرئيسية لـ Spring هو إطار البرمجة الموجهة نحو الجوانب (AOP). تسمى الوظائف التي تمتد عبر نقاط متعددة من التطبيق الاهتمامات الشاملة وهذه الاهتمامات الشاملة منفصلة من الناحية المفاهيمية عن منطق أعمال التطبيق. هناك العديد من الأمثلة الجيدة الشائعة للجوانب بما في ذلك التسجيل، والمعاملات التصريحية، والأمن، والتخزين المؤقت، وما إلى ذلك.

الوحدة الأساسية للنمطية في OOP هي الفئة، بينما في AOP وحدة النمطية هي الجانب. تساعدك DI على فصل كائنات تطبيقك عن بعضها البعض، بينما تساعدك AOP على فصل الاهتمامات الشاملة عن الكائنات التي تؤثر عليها.

توفر وحدة AOP في Spring Framework تطبيقًا برمجيًا موجهًا نحو الجوانب، مما يسمح لك بتحديد اعتراضات الطريقة والنقاط لفصل التعليمات البرمجية التي تنفذ الوظائف التي يجب فصلها بشكل نظيف.

Related posts

JDBC – تطبيق بسيط

JDBC – بناء جملة SQL

JDBC – مقدمة