يجب أن أستخدم الربيع أو الغيار لمشروع Tomcat / Wicket / LeBernate؟

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

  •  13-09-2019
  •  | 
  •  

سؤال

أقوم ببناء تطبيق ويب جديد يستخدم Linux، Apache، Tomcat، Wicket، JPA / السبات، و MySQL. حاجتي الأساسية هي حقن التبعية، والتي يمكن أن تفعل كل من الربيع والوجود بشكل جيد. أعتقد أنني بحاجة إلى دعم المعاملات التي ستأتي مع الربيع و JTA ولكنني لست متأكدا.

من المحتمل أن يكون الموقع حوالي 20 صفحة ولا أتوقع حركة مرور ضخمة.

يجب أن أستخدم الربيع أو الغيار؟

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

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

المحلول

إذا كنت ترغب في فلسفة "DO-IT-IN-IN-IN-java" التي تتبعها النصيبات، فقد تفضل أن تفضل الخيط خلال الربيع. لا يوجد تكوين XML في الغيار - كل ذلك يتم ذلك باستخدام الغيار Module صف دراسي.

على سبيل المثال، النصيبيت الخاص بك WebApplication قد تبدو الطبقة شيئا مثل هذا:

public class SampleApplication extends WebApplication
{
    @Override
    protected void init()
    {
        addComponentInstantiationListener(
          new GuiceComponentInjector(this, new GuiceModule()));
    }
}

ال GuiceComponentInjector يأتي من ملحق الخشب النصي. إليك الوحدة النمطية:

public class GuiceModule extends AbstractModule
{
    @Override
    protected void configure()
    {
        // Business object bindings go here.
        bind(Greetings.class).to(GreetingRepository.class);
    }
}

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

لقد وضعت معا نموذج المشروع وهذا يدل على كيفية إنشاء تطبيق Wicket / Guice لمحرك Google App. يمكنك تجاهل تفاصيل محرك التطبيق بأمان والتركيز على كيفية عمل تكامل الخشب النصي.

نصائح أخرى

إذا كنت تنتهي بالذهاب مع الغيار، تحقق بالتأكيد الاعوجاج لا يزال للبيلات، guice servlet. ل Tomcat، و الغذاء النصيبيت ليكيت.

من المحتمل أن تعطيك الربيع أكثر مرونة، ولكن إذا كنت بحاجة فقط، فقد يكون Cuice خيارا أفضل.

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

فيما يلي بعض المقارنات بين الربيع والوجود والربيع والوجود والبيكونتينر.

http://code.google.com/p/google-guice/wiki/springcomplison.

http://www.christianschenk.org/blog/comparison-between-guice-picocontainer-and-spring/

لا تنسى CDI / JSR-299، جزء من Java EE 6. يمكنك استخدامه لحام الويكيت لدمج النصيبات مع CDI.

(طالما كنت تستخدم تطبيق WELD (كأزينشورش V3 و JBOSS 6 Do)، ولكن Weld-Wicket صغير نوعا ما، حتى تتمكن من تكيفه إذا لزم الأمر).

تمكنت من الحصول على Wicket 1.4 + Weld-Wicket + Wicket-Contrib-Javaee + EJB 3.1 + JPA 2.0 + Wicket-Security (Swarm) + SPRING Security 3 + Spring 3 يعمل معا في دليل صغير على تطبيق مفهوم. إن هذه الأطر كثيرة بعض الشيء، من المحتمل أن تسقط على الأرجح الأمن في الربيع والربيع لأنها تظهر زائدة عن الحاجة.

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