ما هو إطار الربيع؟ - الطريق إلى التنمية الفعالة



هذه المدونة حول ما يتحدث عنه إطار الربيع حول إطار جافا المستخدم على نطاق واسع - الربيع. كما يوضح سبب وكيفية استخدام Spring Framework مع الأمثلة.

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

قبل البدء ، دعنا نلقي نظرة على الموضوعات التي سأناقشها في هذه المدونة:





أطر جافا

لماذا يجب أن نذهب إلى الأطر؟دعوناافهمها مع صديقنا ، كودي .

تحويل المضاعفة إلى عدد صحيح

Coddy in problem - ما هو إطار الربيع - Edureka!



كودي تم تكليفه بمهمة تطوير تطبيق ، لكن الوقت المخصص لا يكفي لإنهائه. يجب عليه كتابة الكثير من سطور التعليمات البرمجية (LOC) بنفسه. إنها مضيعة للوقت ومرهقة للغاية. إنه محتار ما يجب أن يفعله! من أين يجب أن يبدأ!

كودي يبدأ بالتفكير في حل لمشكلته. إنه يحتاج إلى شيء سريع وفعال يوفر الوقت والجهد ، مثل شيء جاهز.



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

يقوم برموز باستخدام الإطار. والمثير للدهشة أن الكود يتلاءم بسهولة مع الإطار.

كودي الآن ، يمكنه البرمجة بشكل أسرع وإكمال طلبه خلال الإطار الزمني المحدد. علاوة على ذلك ، فهو خالٍ من كتابة آلاف الأسطر من التعليمات البرمجية غير الوظيفية.

بعد نشر التطبيق الذي تم تطويره باستخدام Framework ، وجد أنه تم تنفيذه بسرعة أعلى بكثير كما زاد معدل نقله أيضًا عند مقارنته بالتطبيقات الأخرى التي تم تطويرها دون استخدام Framework.

لذلك ، لنبدأ الآن بإطارات جافا.

كيف ظهرت أطر جافا في الوجود؟

في أواخر عام 1990 تم تطوير التطبيقات على نطاق واسع باستخدام معايير JEE. كانت فرضية J2EE متعددة المنصات / البائعين المتعددين ، إذا كان بإمكانك الترميز وفقًا لمعايير J2EE ، فيمكنك نشر تطبيقك على أي خادم تطبيق J2EE بغض النظر عن النظام الأساسي. يوفر لك تشغيل الكود الخاص بك على أي خادم تطبيق العديد من المزايا مثل - إدارة المعاملات ، والرسائل ، والبريد ، وواجهة الدليل وما إلى ذلك. ولكن نظرًا لأنه لا شيء سهل في هذا العالم ، فقد واجه العمل مع J2EE أيضًا بعض الصعوبات.

  • للغايةمركب : تم تطوير Enterprise Java Bean لتقليل التعقيد في تطبيقات J2EE. لكنها لم تنجح في تحقيق هدفها في التنفيذ. السبب وراء ذلك هو أنه أثناء كتابة أحد المكونات ، يلزم كتابة مجموعة من ملفات XML ، واجهات منزلية ، واجهات بعيدة / محلية ، إلخ.
  • مشكلة 'البحث': عندما يعتمد أحد المكونات على مكون آخر ، كان عليه البحث عن المكونات التي يعتمد عليها بنفسه. يحدث 'البحث' هذا المكون بالاسم فقط ، لذلك تم ترميز اسم التبعية في المكون.
  • وزن ثقيل: كتم دعم جميع الميزات مثل التجميع ، والعمل عن بُعد ، وما إلى ذلك ، ويجب عليك تكوينها ، بغض النظر عن حقيقة أنك في حاجة إليها أم لا. سيؤدي ذلك إلى تضخم تطبيقاتك.

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

دعونا نفهمها من خلال التمثيل التصويري:

ولكن كيف تقلل بالضبط من عملنا وتجعل رموزنا فعالة؟ لفهم ذلك ، اتبع ما يلي مزاياوسلبياتمن هذه الأطر. لنبدأ بـ مزايا .

كفاءة:

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

الأمان:

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

مصروف:

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

الدعم:

مثل أي أداة أخرى موزعة ، يشتمل إطار العمل بشكل عام على مستندات أو مجموعة دعم أو منتديات مجتمع كبير عبر الإنترنت حيث يمكنك الحصول على ردود سريعة.

على الرغم من وجود كل هذه المزايا ، فإن Java Frameworks لديها بعض سلبيات ، مثل:


قيود:

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

الرمز عام:

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

مخصص الميزات:

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

الآنذلكأنت تعرف مزايا وعيوبمن الأطر ،اختر إطار العمل الخاص بك حسب حاجتك. هناك أنواع مختلفة من الأطر المتاحة في السوق. يوضح الرسم البياني أدناه عددًا قليلاً منهم:

لذلك ، في هذه المدونة سنركز على Spring Framework.

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

هنا يطرح السؤال 'ما هو إطار الربيع'؟

Spring Framework هو إطار قوي لتطوير التطبيقات خفيف الوزن يستخدم في Enterprise Java (JEE).

يمكن استخدام الميزات الأساسية لـ Spring Framework في تطوير أي تطبيق Java.يمكن وصفه بأنهإطار كامل ونموذجي. يمكن استخدام Spring Framework لجميع عمليات تنفيذ الطبقات لتطبيق الوقت الفعلي. يمكن استخدامه أيضًا لتطوير طبقة معينة لتطبيق الوقت الفعلي على عكس Struts و Hibernate ، ولكن مع Spring يمكننا تطوير جميع الطبقات.

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

في أكتوبر 2002 ، رود جونسون ، متخصص كمبيوتر أسترالي ، كتب كتابًا بعنوان Expert One-on-One J2EE Design and Development. في هذا الكتاب اقترح حلاً أبسط يعتمد على فئات Java العادية (POJO) وحقن التبعية. كتب أكثر من 30000 سطر من كود البنية التحتية والتي تضمنت عددًا من واجهات جافا القابلة لإعادة الاستخدام والفئات لتطوير التطبيق. حوالي فبراير 2003 ، بدأ Rod و Juergen و Yann في التعاون في مشروع Spring. أُطلق اسم 'الربيع' لأنه يعني بداية جديدة بعد 'الشتاء' في J2EE التقليدية.

فيما يلي الجدول الزمني الموضح حول الإصدارات الرئيسية في تاريخ الربيع:

تم تسميته Interface 21 ، كمرجع للقرن الحادي والعشرين وتم إصداره بموجب ترخيص Apache 2.0.
كان هذا أول إصدار هام. تطور إطار الربيع بسرعة منذ هذا الإصدار. تدعم Interface21 AspectJ بالتوازي مع Spring Framework.
تمت إضافة ميزات جديدة - تكوينات XML القابلة للتوسيع ، ودعم Java 5 واللغات الديناميكية ، ونقاط امتداد IoC وتحسينات AOP.
تمت إضافة ميزات جديدة - دعم Java 6 / JEE5 وتكوينات التعليقات التوضيحية والاكتشاف التلقائي للمكونات في classpath والحزم المتوافقة مع OSGi.
تمت إضافة ميزات جديدة - دعم نظام الوحدة النمطية المعاد تنظيمه ، و SpEL ، و JavaConfig ، وقواعد البيانات المضمنة ، ودعم REST ودعم Java EE 6.
تم إصدار مشروع Spring Data Commons. في وقت لاحق من عام 2012 ، غادر رود جونسون فريق الربيع.
تحولت جميع مشاريع الربيع إلى Pivotal. تمت إضافة ميزات جديدة - الدعم الكامل لـ Java 8 ، ومآخذ الويب ، واعتماديات مكتبة الطرف الثالث ، و DSL الرائع لتعريفات الفول.
كان متوافقًا مع Java 6 و 7 و 8 ، مع التركيز على التحسينات الأساسية وإمكانيات الويب الحديثة.
سيكون الجيل الأخيرضمن متطلبات نظام Spring 4 العامة. 4.3.8 هو الإصدار الحالي.

لماذا إطار الربيع؟

يوجد أدناه مخطط يوضح المقارنة بين الربيع ومختلف الأطر الأخرى.

يوجد أدناه رسم بياني بناءً على مسح ،اعتبارًا من مايو 2016. كما ترون من الرسم البياني ، فإن Spring Framework تحظى بشعبية كبيرة في مجالها واستمرت في الاحتفاظ بمكانتها فيمنذ عام 2014.

أسباب الربيع الإطارشعبية الأعمال

هناك ثلاثة أسباب رئيسية لشعبية Spring Framework.

  1. بساطة
  2. قابلية الاختبار
  3. اقتران فضفاض

دعونا نناقش هذه المواضيع بالتفصيل.

بساطة: إطار الربيع بسيط لأنه غير جراحي لأنه يستخدم نماذج POJO و POJI.

  • POJO (كائنات جافا القديمة البسيطة): أفئة Java غير مقترنة بأي تقنية أو يسمى أي إطار عمل ' بوجو ' .
  • POJI (واجهات Java القديمة البسيطة): واجهة Java غير مقترنة بأي تقنية أو أي عمل إطار يسمى ' بوجي ' .

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

اقتران فضفاض : يقترن Spring Framework بشكل فضفاض لأنه يحتوي على مفاهيم مثل Dependency Injection و AOP وما إلى ذلك. تساعد هذه الميزات في تقليل التبعية وزيادة نمطية داخل الكود. دعونا نفهم هذا بمثال.

لدي هنا واجهة Bike بها طريقة start (). يتم تنفيذه أيضًا من خلال ثلاث فئات ، وهي: ياماها وهوندا وبجاج.

دراجة الواجهة العامة {بداية باطلة عامة ()}

هنا يقوم راكب الفصل بإنشاء كائن من أي فئة يقوم بتنفيذ واجهة الدراجة.

فئة رايدر {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

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

هندسة إطار الربيع

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

  • حاوية أساسية
  • الوصول إلى البيانات / التكامل
  • الويب
  • AOP (البرمجة الموجهة إلى الجانب)
  • الأجهزة
  • اختبار.

قد تتساءل ، ما هي ميزة Spring Framework في وجود بنية متعددة الطبقات؟ دعنا نكتشف من خلال النقاط التالية:

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

لفهم ما هو Spring Framework ، دعنا نرى تطبيق Spring Framework بسيطًا. اتبع الخطوات الخمس البسيطة:

الخطوة الأولى: إنشاء فئة الفول

package org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Hello: '+ الاسم)}}

الخطوة الثانية: إنشاء ملف XML

 

الخطوة الثالثة: إنشاء الفصل الرئيسي

package org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathX ) مصنع StudentBean = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

الخطوة الرابعة: تحميل ملفات الجرة

قم بتحميل ملفات الجرة التالية.

  • Commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • الربيع- aop-4.2.2.RELEASE.jar
  • الربيع-الفول 4.2.2.RELEASE.jar
  • الربيع - السياق - 4.2.2.RELEASE.jar
  • الربيع الأساسية 4.2.2.RELEASE.jar
  • الربيع التعبير 4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • الربيع- webmvc-4.2.2.RELEASE.jar

ملحوظة: في حال احتجت إلى ملفات الجرة ، قم بالتعليق أدناه.

الخطوة الخامسة: قم بتشغيل البرنامج

قم بتشغيل البرنامج على الخادم الخاص بك لاختبار التطبيق.

آمل أن أكون قادرًا على التوضيح بوضوح ، ما هو إطار الربيع ، وكيف يعمل بالضبط وما الغرض منه. يمكنك أيضًا الرجوع إلى الفيديو الخاص بـ 'What Is Spring Framework' ، حيث يصف المعلم الموضوعات التي تمت مناقشتها في هذه المدونة جنبًا إلى جنب مع عرض عملي.

ما هو إطار الربيع في جافا | الربيع الإطار التعليمي | إدوريكا

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

إذا كنت تريد تعلم Spring وترغب في استخدامه أثناء تطوير تطبيقات Java ، فراجع ملف من Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250.000 متعلم راضٍ منتشرين في جميع أنحاء العالم

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات وسنعاود الاتصال بك.