在企业应用程序中使用 java ee 6 vs spring 框架的优点/缺点是什么?哪个更适合大型项目(为什么)?与 java ee 6 相比,spring 的缺点是什么?我在春天没有任何经验,但我想知道它们之间的区别。
3 回答
Java EE 的主要优点是它是一个官方框架。它具有与 Spring 相同的所有功能,除了它总是放在一个盒子中 - 容器(即使您不需要某些组件,它们也会存在)。当然,可以将 Java EE 的某些组件(如 Weld)单独挂接到您的 Java SE 应用程序中,但这并不常见。
另一方面,就您想要的组件而言,Spring 更具可配置性。您可以自己决定您在应用程序中需要什么(通常是 DI)。Spring 还可以使用 Java EE 特性(例如 JSP)。
如果您只需要 Java EE 的一小部分(如依赖注入),最好使用 Spring。如果您需要 Java EE 的多个特性(即 JTA + JMS + DI + 等),我会选择 Glassfish。
主要区别在于,使用 spring 框架,您不需要完整的 JavaEE 容器。否则,它们或多或少是同一问题的两种不同解决方案。我不会评论问题的优势/劣势部分,因为这是基于意见的。
JavaEE 6 比以前更类似于 Spring 2/3。Spring 的主要功能/项目具有其 JavaEE 等价物,您不需要完整的 JavaEE 服务器即可运行。你只需要你使用的区域。
Java EE 的一个优点是只需将小型 JavaEE API 作为依赖项进行编码,并将实现留给服务器负责。您不需要经过认证的服务器。您可以在 Tomcat 中仅使用您需要的实现来运行它。他们已经通过 TomEE 项目为您做到了。
就是这样了。如果你想在你的类中只使用 java 和 javax 包而不是 org.springframework,你选择 JavaEE。
如果您不介意使用非 java 或 javax 包(为什么会这样?),那么您可以使用 Spring 和任何其他非 Java 库。
两者都为许多问题提供了解决方案,并且 Stackoverflow 中的所有答案都会有偏差。问那个一般性的问题没有用。这取决于。你有什么目标。您的语法和使用偏好。性能要求。安全要求……每个组件都可以更好,具体取决于使用情况,您可以选择同时使用并从每个组件中进行选择,什么对您最有帮助。