2011-07-07 41 views
5

我对依赖注入的概念相当陌生,目前我们正在使用JSF和Primefaces编写一个Web应用程序。我们正在评估是否使用Spring或EJB3。我真的很接近选择春天,但后来我听说了CDI。你能给我们一些提示,这可能是对于以下情况最好的提示:Spring或CDI或EJB3

我们目前对J2EE世界很新,不知道我们是否会使用Glassfish或JBoss(或者可以简单地坚持Tomcat) 。

Web应用程序基本上是企业CRUD应用程序的原型,它需要能够处理复杂的业务逻辑。我们希望专注于“适应性”,因为一些要求不明确,将在一年后决定(当我们知道我们是否仍然可以使用原型时)。

我们不能使用Hibernate,因为我们必须编写非常复杂的SQL语句。目前我们在Spring中对SQL抽象有了很好的体验。

Maybee我目前正在比较苹果和橘子,但如果您是j2ee的新手,信息太多了。我认为EJB是通过JCP定义的标准,Spring是市场定义的标准,CDI也是JCP定义的标准,用于Spring的功能。但我肯定是错的;-)。

THX,

iuiz

+1

简单的问题,不可能的答案。当然,您的要求不会排除竞争对手中的任何竞争对手。对于Google来说,围绕这个主题进行诸多火焰战争相当容易 - 最终的决定将完全取决于您和您的偏好。 –

+0

Thx。但这是你到达那里的一个非常重要的观点,因为至少我知道我没有看到完全无用和过时的东西。 – iuiz

回答

8

林肯巴克斯特做了出色的工作,解释本文中的技术差异:http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/长话短说:Spring和CDI都将能够提供依赖注入。一个是Java EE标准,另一个是公知的技术。 Glassfish和JBoss都可以毫无问题地运行Spring应用程序和CDI应用程序。就不能使用Hibernate而言,在Hibernate中不能使用native SQL。如果可以的话,可以为您的团队节省很多额外的简单CRUD代码。

+0

谢谢。我会研究这篇文章。它看起来很有希望。然而,Hibernate的东西是我刚才问的问题http://stackoverflow.com/questions/5769943/java-database-abstraction-for-gwt-or-is-hibernate-a-good-choise,我们决定反对它。 – iuiz