我可以知道有什么区别: -
Spring Struts Struts 2 Hibernate JavaServer Faces JavaServer Pages Tapestry
这些技术/框架是否相互补充?或者它们是彼此的替代品(在我使用其中一个之后,我不需要使用另一个)?
谢谢。
Spring 是一个 IoC 容器(至少是 Spring 的核心),用于使用依赖注入来连接事物。 Spring 提供了额外的服务,比如事务管理和各种其他技术的无缝集成。 Struts 是一个基于动作的表示框架(但不要将它用于新的开发)。 Struts 2 是一个基于动作的表示框架,上面的版本 2(由 WebWork 与 Struts 合并创建)。 Hibernate 是一个对象关系映射工具,一个持久化框架。 JavaServer Faces 是基于组件的表示框架。 JavaServer Pages 是所有提到的视图表示框架都使用的视图技术。 Tapestry 是另一个基于组件的表示框架。
所以,总结一下:
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 是一个很棒的堆栈。
也可以看看
现在选择 Java Web 框架?
Java - JDBC 替代方案
JEE6 与 Spring 3 堆栈
在 Java EE 6 中制作 Java Web 应用程序需要学习什么?
一般来说...
Hibernate 用于处理数据库操作。有一组丰富的数据库实用程序功能,可以减少您的代码行数。特别是你必须阅读休眠的@Annotation。它是一个 ORM 框架和持久层。
Spring 提供了一套丰富的基于 Injection 的工作机制。目前,Spring 是众所周知的。您还必须阅读有关 Spring AOP 的信息。在 Struts 和 Hibernate 之间有一座桥梁。主要是 Spring 提供了这种实用程序。
Struts2 提供基于动作的编程。有一组丰富的 Struts 标签。 Struts 证明了基于动作的编程,因此您必须维护对视图的所有相关控制。
此外,Tapestry 是一个不同的 Java 框架。您只需在其中处理 .tml
(模板文件)。您必须为任何类创建两个主文件。一个是 JAVA 类,另一个是它的模板。两个名字都是一样的。 Tapestry 自动调用相关的类。
您可以查看自己的概览和排名here。 Hibernate 是一个 ORM,因此您可以使用 struts+Hiberante 或 spring+hibernate 来构建 Web 应用程序。不同的 web 框架和许多是相互替代的。
Spring 是一个处理 IOC(控制反转)的应用程序框架。
Struts 2 是一个处理动作的 Web 应用程序 MVC 框架。
Hibernate 是一种处理持久数据的 ORM(对象关系映射)。
简而言之,
Struts 用于网站的前端开发
Hibernate 用于网站的后端开发
Spring 用于网站的全栈开发,其中 Spring MVC(Model-View-Controller) 用于前端。 ORM,用于数据访问/集成的 JDBC(后端)。 ETC
在hibernate中,您无需担心如何在SQL中创建表,也无需记住连接,准备好的语句,例如数据保存在数据库中。因此,基本上它使开发人员的生活变得轻松。
Spring 是 Rod Johnson 于 2003 年创建的轻量级开源框架。 Spring 是一个完整的模块化框架,Spring 框架可以用于实时应用程序的所有层实现,也可以用于特定层的开发的实时应用程序。
Struts 是一个用于开发 Java EE Web 应用程序的开源 Web 应用程序框架。它使用并扩展了 Java Servlet API,以鼓励开发人员采用模型-视图-控制器 (MVC) 架构。它最初由 Craig McClanahan 创建,并于 2000 年 5 月捐赠给 Apache 基金会。
下面列出的是Spring和Strut Framework的区别对比图
https://i.stack.imgur.com/piubF.png
Tapestry 页面和组件是简单的 POJO(普通旧 Java 对象),由 getter 和 setter 组成,用于轻松访问 Java 语言功能。
Spring、Struts 和 Hibernate 的区别如下:
Spring 是一个应用程序框架,但 Struts 和 hibernate 不是。 Spring 和 Hibernate 是轻量级的,但 Struts 2 不是。 Spring 和 Hibernate 具有分层架构,但 Struts 2 没有。 Spring 和 Hibernate 支持松散耦合,但 Struts 2 不支持。 Struts 2 和 Hibernate 有标签库,但 Spring 没有。 Spring 和 Hibernate 很容易与 ORM 技术集成,但 Struts 没有。 Struts 2 很容易与客户端技术集成,但 Spring 和 Hibernate 没有。