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

时间:2010-05-15 18:13:48

标签: java frameworks java-ee

我可以知道: -

之间有什么区别
  1. 弹簧
  2. Struts的
  3. Struts 2
  4. 休眠
  5. JavaServer Faces
  6. JavaServer Pages
  7. 挂毯
  8. 这些技术/框架是否相互补充?或者它们是彼此的替代品(在我使用其中一个之后,我不需要使用另一个)?

    感谢。

9 个答案:

答案 0 :(得分:262)

  1. Spring是 IoC容器(至少是Spring的核心),用于使用依赖注入来连接事物。 Spring提供其他服务,如事务管理和各种其他技术的无缝集成。
  2. Struts是一个基于动作的演示框架(但不要将其用于新开发)。
  3. Struts 2是一个基于动作的演示框架,上面的版本2(由WebWork与Struts合并而成)。
  4. Hibernate是一个对象关系映射工具,一个持久性框架
  5. JavaServer Faces是基于组件的演示框架
  6. JavaServer Pages是视图所有提到的演示框架使用的视图技术。
  7. Tapestry是另一个基于组件的演示文稿框架
  8. 所以,总结一下:

    • Struts 2,JSF,Tapestry(以及Wicket,Spring MVC,Stripes)是演示框架。如果您使用其中一个,则不要使用其他。
    • Hibernate是一个持久性框架,用于在关系数据库中保存Java对象。
    • 可以使用Spring将所有这些连接在一起,并提供声明式事务管理。

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

    另见

答案 1 :(得分:18)

...一般

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

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

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

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

答案 2 :(得分:7)

您可以查看自己的概述和排名here。 Hibernate是一个ORM,因此您可以使用struts + Hiberante或spring + hibernate来构建Web应用程序。不同的Web框架和许多是彼此的替代方案。

答案 3 :(得分:4)

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

Struts 2是一个Web应用程序MVC框架,用于处理操作。

Hibernate是一个处理持久数据的ORM(对象关系映射)。

答案 4 :(得分:2)

在hibernate中,您无需担心如何在SQL中创建表,也无需记住连接,准备好的语句就像数据一样保存在数据库中。所以,基本上它使开发人员的生活变得轻松。

答案 5 :(得分:2)

简而言之,

Struts 用于网站的前端开发

Hibernate 用于网站的后端开发

Spring 用于网站的完整堆栈开发     Spring MVC(模型 - 视图 - 控制器)用于前端。     ORM,用于数据访问/集成的JDBC(后端)。等

答案 6 :(得分:1)

Spring 是由 Rod Johnson 在2003年创建的轻量级开源框架.Spring是一个完整的模块化框架,Spring框架可以用于实时应用程序的所有层实现,或者spring可以用于开发实时应用程序的特定层。

Struts 是一个用于开发Java EE Web应用程序的开源Web应用程序框架。它使用并扩展了Java Servlet API,以鼓励开发人员采用模型 - 视图 - 控制器(MVC)架构。它最初由 Craig McClanahan 创建,并于2000年5月捐赠给Apache基金会。

下面列出了Spring和Strut Framework之间差异的对比图

enter image description here

答案 7 :(得分:0)

Spring Struts Hibernate 之间的区别如下:

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

答案 8 :(得分:-1)

Tapestry 页面和组件很简单 POJO(普通旧Java对象)由getter和setter组成,可以轻松访问Java语言功能。