ما هو "أفضل الممارسات" لأول Java EE الربيع المشروع ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/8569

  •  08-06-2019
  •  | 
  •  

سؤال

أنا حاليا في محاولة للوصول الى Java EE التنمية مع إطار الربيع.كما أنا جديد في الربيع ، فمن الصعب أن التصوير كيف جيدة تشغيل المشروع يجب أن تبدأ.

هل لديك أي أفضل الممارسات, نصائح لمحبي أو الرئيسية لا يملكون للمبتدئين?كيف تبدأ مع الربيع - مشروع كبير أو صغير التعليمي-مثل التطبيقات ؟ التكنولوجيا التي استخدمتها على الفور:اوب المعقدة السبات...

هل كانت مفيدة؟

المحلول

نصيحة صغيرة - لقد وجدت أنه من المفيد أن modularize بوضوح العلامة ربيع بلادي xml سياق الملفات على أساس تطبيق القلق.هنا مثال على التطبيق على شبكة الإنترنت عملت على:

  • MyProject / src / main / resources / spring /
    • datasource.xml - بلدي مصدر بيانات واحد فول.
    • persistence.xml - بلدي DAOs/مستودعات.يعتمد على datasource.xml الفاصوليا.
    • services.xml - خدمة طبقة التطبيقات.وعادة ما تكون هذه الحبوب التي لا تنطبق transactionality باستخدام اوب.يعتمد على persistence.xml الفاصوليا.
    • controllers.xml - ربيع بلادي MVC التحكم.يعتمد على services.xml الفاصوليا.
    • views.xml - من وجهة نظري تطبيقات.

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

في بلدي (محدودة) خبرة, لقد رأيت هذا النهج وديعة الفوائد التالية:

أوضح العمارة

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

يساعد تصميم المجال

إذا كنت ترغب في إضافة الفول تعريف لكن لا تناسب بشكل جيد في أي سياق الملفات, ربما هناك مفهوم جديد أو القلق الناشئة?أمثلة:

  • افترض أنك تريد أن تجعل طبقة خدمة المعاملات مع اوب.يمكنك إضافة تلك فول التعاريف services.xml, أو وضعها في بلدهم transactionPolicy.xml?تحدث مع فريق العمل الخاص بك.يجب أن معاملتك سياسة التوصيل?
  • إضافة Acegi/ربيع الأمن الفول الخاص بك controllers.xml أو ملف أو إنشاء security.xml سياق الملف ؟ هل لديك أمنية مختلفة متطلبات مختلفة النشر/والبيئات ؟

اختبار التكامل

يمكنك توصيل مجموعة فرعية من التطبيق الخاص بك عن اختبار التكامل (السابقين:بالنظر إلى الملفات أعلاه لاختبار قاعدة البيانات تحتاج إلى إنشاء فقط datasource.xml و persistence.xml الفاصوليا).

على وجه التحديد, يمكنك تعليم دمج فئة اختبار على هذا النحو:

@ContextConfiguration(locations = { "/spring/datasource.xml" , "/spring/persistence.xml" })

يعمل بشكل جيد مع الربيع IDE الفول الرسم البياني

وجود الكثير من ركز جيدا اسمه السياق الملفات يجعل من السهل لخلق العرف BeansConfigSets تصور طبقات من التطبيق الخاص بك باستخدام الربيع IDE الفاصوليا الرسم البياني.لقد استعملت هذا قبل إعطاء أعضاء الفريق الجديد نظرة عامة شاملة من التطبيقات المنظمة.

نصائح أخرى

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

أفضل الممارسات ؟ إذا كنت تستخدم معيار XML التكوين ، وإدارة حجم الملفات الفردية و التعليق عليها حكمه.قد تعتقد أنك وآخرين سوف نفهم تماما الفول تعريفات, ولكن في الواقع أنهم إلى حد ما أصعب أن تعود إلى من القديم عادي جافا البرمجية.

حظا سعيدا!

أولا الربيع عن نمطية يعمل بشكل أفضل إذا كان واحد يركز على كتابة المكونات الصغيرة أن تفعل شيئا واحدا جيدا.

إذا كنت تتبع أفضل الممارسات في العامة مثل:

  • تحديد واجهة بدلا من فئات مجردة
  • صنع أنواع ثابتة
  • الحفاظ على تبعيات قليل قدر الإمكان عن فئة واحدة.
  • كل فئة يجب أن تفعل شيئا واحدا جيدا.كبيرة متجانسة الطبقات مص, فهي من الصعب أن الاختبار الصعب استخدام.

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

PS

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

أنا فعلا أحب الربيع..كان نسيم الهواء في المتوسط Java J2EE الفول..

أوصي تنفيذ سبيل المثال الربيع تنص على ما يلي:

http://static.springframework.org/docs/Spring-MVC-step-by-step/

أيضا, قررت أن أذهب مونتي الكامل وأضاف السبات إلى الربيع التطبيق;) لأن الربيع يوفر دعما ممتازا السبات...:)

لدي لا ولكن الذي تعلمت بالطريقة الصعبة (المنتج في إنتاج)...إذا كنت فقط تنفيذ وحدة تحكم واجهة والعودة ModelAndView كائن مع بعض البيانات المقدمة مع واجهة الربيع لا garbadge جمع تلك الموارد ، يحاول ذاكرة التخزين المؤقت هذه البيانات.لذلك يجب الحرص على وضع البيانات الكبيرة في تلك ModelAndView الكائنات ، لأنها سوف خنزير حتى الخادم الخاص بك الذاكرة ما دام الخادم في الهواء بمجرد أن الصفحة تم الاطلاع...

تبدأ هنا - في الواقع أنا أعتقد إنه من بين أفضل البرامج ديف الكتب التي قرأت.
الخبراء الربيع MVC ويب تدفق

تعلم الشرح جديدة على أساس تكوين MVC الطبقات.هذا هو جزء من الربيع 2.5.باستخدام القائمة على الشرح الطبقات هو الذهاب إلى جعل الكتابة وحدة الاختبارات هيك أسهل كثيرا.يجري أيضا قادرة على خفض كمية XML هو شيء جيد.

نعم وحدة الاختبارات - إذا كنت تستخدم الربيع, من الأفضل أن تكون وحدة اختبار.:) كتابة وحدة الاختبارات لجميع الويب الخاص بك والخدمة طبقة من الطبقات.

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

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

وسيلة جيدة للبدء هو التركيز على "Springframework".الربيع وقد نمت محفظة إلى كومة كبيرة من المشاريع حول مختلف جوانب المشاريع والبرامج.التمسك الأساسية في بداية ومحاولة فهم المفاهيم. تحميل أحدث الثنائيات و تحقق الربيع petclinic سبيل المثال ذات مرة كنت على دراية الأساسية.أنه يعطي جدا لمحة عامة جيدة من المشاريع المختلفة SpringSource وقد تقدم.

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

"...التكنولوجيا التي استخدمتها على الفور:اوب المعقدة السبات..." - سأقول السؤال أن تسأل الناس ما لم تستخدم على الفور.أود إضافة الأمثلة التي يستشهد على تلك القائمة.

الربيع MVC و JDBC القالب سيكون ابتداء من التوصيات.يمكن أن تذهب شوطا طويلا جدا فقط مع أولئك.

توصيتي ستكون المتابعة الربيع المعمارية التوصيات بأمانة.استخدام طبقات الأفكار.تأكد من أن طبقة الويب انفصال تماما عن بقية.يمكنك القيام بذلك عن طريق السماح ويب الطبقة التفاعل مع نهاية الجزء الخلفي فقط من خلال خدمة طبقة.

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

IDE مع أفضل دعم الربيع هو IntelliJ.الأمر يستحق إنفاق بضعة دولارات.

في حين مرت سنوات منذ أن كنت قد استخدمت الربيع ، ولا أستطيع أن أقول أنا معجب ذلك, وأنا أعلم أن التطبيق فتيل أداة (https://java.net/projects/appfuse/) كانت مفيدة لمساعدة الناس في التمهيد حيث توليد جميع القطع الأثرية تحتاج إلى الحصول على الذهاب.

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

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

مع الافراج عن الربيع 2.5 و 3.0 ، وأعتقد أن واحدة من أهم أفضل الممارسات للاستفادة من الآن هي الربيع الشروح.شروح تحكم والخدمات مستودعات يمكن إنقاذ لكم طن من الوقت تسمح لك أن تركز على منطق الأعمال من التطبيق الخاص بك و يمكن أن يحتمل كل ما عليك أن تجعل جميع من وجوه الخاص بك القديم عادي كائنات جافا (POJOs).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top