Spring, Struts, Hibernate, JavaServer Faces, Tapestry之间有什么区别?

请问以下两者有何分别:-

  1. 春天
  2. Struts
  3. Struts 2
  4. Hibernate
  5. JavaServer Faces
  6. JavaServer Pages
  7. 挂毯

这些技术/框架是否相互补充?或者它们是彼此的替代品(在我使用了其中一个之后,我就不需要使用另一个了)?

谢谢。

273999 次浏览

你可以看到概述和排名自己在这里。Hibernate是一个ORM,所以你可以使用struts+Hiberante或spring+ Hibernate来构建一个web应用程序。不同的web框架和许多是相互替代的。

  1. Spring是一个IoC容器(至少是Spring的核心),用于使用依赖注入连接事物。Spring提供了额外的服务,如事务管理和各种其他技术的无缝集成。
  2. Struts是一个基于动作的表示框架(但是不要在新的开发中使用它)。
  3. Struts 2是一个基于动作的表示框架,上面的版本2(从WebWork和Struts的合并创建)。
  4. Hibernate是一个对象关系映射工具,持久性框架. Hibernate是一个对象关系映射工具。
  5. JavaServer Faces是基于组件的表示框架
  6. JavaServer Pages是一种视图技术,上面提到的表示框架都使用它来表示视图。
  7. Tapestry是另一个基于组件的表示框架

所以,总结一下:

  • struts2, JSF, Tapestry(和Wicket, Spring MVC, Stripes)都是表示框架。如果你用了其中一个,你就不用另一个了。
  • Hibernate是一个持久性框架,用于在关系数据库中持久化Java对象。
  • Spring可用于将所有这些连接在一起并提供声明性事务管理。

我不想把事情搞得更混乱,但请注意,Java EE 6提供了与上述框架相当的现代、标准化和非常好的框架:用于表示的JSF 2.0和Facelets,用于持久化的JPA 2.0,依赖注入等等。对于一个新的开发,这是IMO的严重的选项,Java EE 6是一个伟大的堆栈。

另请参阅

在hibernate中,你不需要担心如何在SQL中创建表,你不需要记住连接,准备语句,比如数据被持久化在数据库中。因此,基本上它使开发人员的生活变得轻松。

一般……

Hibernate用于处理数据库操作。有一组丰富的数据库实用程序功能,可以减少代码行数。特别是你必须阅读hibernate的@Annotation。它是一个ORM框架和持久层。

Spring提供了一套丰富的基于注入的工作机制。目前,Spring是众所周知的。您还必须阅读有关Spring AOP的内容。Struts和Hibernate之间有一个桥梁。Spring主要提供这种实用程序。

Struts2提供了基于动作的编程。有一组丰富的Struts标记。Struts证明了基于动作的编程,因此您必须维护视图的所有相关控制。

此外,Tapestry是Java的不同框架。其中你必须只处理.tml(模板文件)。你必须为任何类创建两个主文件。一个是JAVA类,另一个是它的模板。两个名字都一样。Tapestry自动调用相关的类。

Spring是一个处理IOC(控制反转)的应用程序框架。

Struts 2是一个处理动作的web应用程序MVC框架。

Hibernate是一种ORM(对象-关系映射),用于处理持久数据。

挂毯页面和组件是简单的POJO’s(普通旧Java对象),由getter和setter组成,便于访问Java语言功能。

春天StrutsHibernate的区别如下:

  1. Spring是一个应用程序框架,但Struts和hibernate不是。
  2. Spring和Hibernate是轻量级的,但struts2不是。
  3. Spring和Hibernate具有分层的体系结构,但struts2没有。
  4. Spring和Hibernate支持松耦合,但struts2没有。
  5. Struts 2和Hibernate都有标记库但是Spring没有。
  6. Spring和Hibernate很容易与ORM技术集成,但Struts没有。
  7. Struts 2很容易与客户端技术集成但是Spring和Hibernate没有。

简而言之,

Struts是网站前端开发

Hibernate用于网站的后端开发

春天用于网站的全栈开发 Spring MVC(模型-视图-控制器)用于前端。 ORM,用于数据访问/集成的JDBC(后端)。等< / p >

春天< em > < / em >是一个轻量级的开源框架,由杆约翰逊在2003年创建。Spring是一个完整的、模块化的框架,Spring框架可以用于实时应用的所有层实现,或者Spring可以用于特定层的实时应用的开发。

Struts < em > < / em >是一个用于开发Java EE web应用程序的开源web应用程序框架。它使用并扩展了Java Servlet API,以鼓励开发人员采用模型-视图-控制器(MVC)体系结构。它最初由克雷格·麦克拉纳罕创建,并于2000年5月捐赠给Apache基金会。

下面是Spring和struts框架的差异对比图

enter image description here