2011-07-07 21 views
5

Bağımlılık enjeksiyon konseptine oldukça yeniyim ve şu anda JSF ve belki Primefaces kullanarak bir web uygulaması yazıyoruz. Şu anda Spring veya EJB3'ü kullanıp kullanmayacağımızı değerlendiriyoruz. Spring'i seçmek için çok yakındım ama CDI hakkında bir şeyler duydum. Aşağıdaki durum için en iyi olan bazı ipuçları verebilir misiniz:Spring or CDI veya EJB3

Şu anda J2EE dünyasında oldukça yeniyiz ve Glassfish veya JBoss kullanıp kullanmayacağımızı bilmiyoruz (ya da sadece Tomcat'a yapışabiliriz) .

Web uygulaması, temel olarak karmaşık iş mantığını ele alması gereken bir kurumsal CRUD uygulaması için bir prototiptir. Bazı gereksinimler net olmadığı ve bir yıl sonra karar verileceğinden (adapte olup olmadığımızı bildiğimiz zaman) “adapte edilebilirlik” e odaklanmak istiyoruz.

Çok karmaşık SQL deyimleri yazmamız gerektiğinden, hazırda bekletme özelliğini kullanamıyoruz. Şu anda ilkbaharda SQL soyutlama ile iyi deneyimler yaptık.

Maybee Şu anda elma ve portakalları karşılaştırıyorum, ancak j2ee'ye yeni iseniz çok fazla bilgi var. EJB'lerin JCP ile tanımlanan standart olduğunu düşünüyorum, Bahar pazar tarafından tanımlanan standarttır ve CDI, Spring'in yapabildiği şeyi yapmak için JCP tarafından da tanımlanan bir standarttır. Ama kesinlikle çok yanlış ;-).

Thx,

iuiz

+1

Kolay soru, imkansız cevap. Gereksinimleriniz kesinlikle yarışmacılardan hiçbirini yarışma dışı bırakmıyor. Bu konuyla ilgili olarak birçok konuyla ilgili olarak Google'a gitmek oldukça kolaydır - ve son karar tamamen size ve tercihlerinize bağlıdır. –

+0

Thx. Ama bu oradaki çok önemli bir nokta, çünkü en azından, tamamen işe yaramaz ve modası geçmiş bir şeye bakmadığımı biliyorum. – iuiz

cevap

8

Lincoln Baxter bu makalede teknik farklılıklarını açıklayan mükemmel bir iş yapar: http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/ Uzun lafın kısası: Her iki İlkbahar ve CDI hem bağımlılık enjeksiyon sağlamak mümkün olacaktır. Biri bir Java EE standardı, diğeri ise yaygın olarak bilinen bir teknolojidir. Glassfish ve JBoss, Spring uygulamaları ve CDI uygulamalarını sorunsuz bir şekilde çalıştırıyor. Hazırda bekletme özelliğini kullanamayacağınız sürece, Hazırda bekletme modunda native SQL kullanamazsınız. Yapabilirseniz ekibinize ekstra ölü basit CRUD kodunu kaydedin.

+0

Teşekkürler. Bu makaleye bakacağım. Oldukça umut verici görünüyor. Ancak Hazırda Bekletme, bir süre önce sorduğum bir şeyi soruyor http://stackoverflow.com/questions/5769943/java-database-abstraction-for-gwt-or-is-hibernate-a-good-choise ve buna karşı karar verdik . – iuiz