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

2022-08-31 06:17:44

请问,这两者之间有什么区别:

  1. 春天
  2. 支柱
  3. 支柱 2
  4. 冬眠
  5. JavaServer Faces
  6. JavaServer Pages
  7. 挂毯

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

谢谢。


答案 1
  1. Spring是一个IoC容器(至少是Spring的核心),用于使用依赖注入来连接事物。Spring提供额外的服务,如交易管理和各种其他技术的无缝集成。
  2. Struts是一个基于操作的演示框架(但不要将其用于新的开发)。
  3. Struts 2是一个基于操作的演示框架,上面的版本2(由WebWork与Struts的合并创建)。
  4. Hibernate是一个对象关系映射工具,一个持久性框架
  5. JavaServer Faces是基于组件的表示框架
  6. JavaServer Pages是所有提到的视图框架用于视图的视图技术。
  7. 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是一个伟大的堆栈。

另请参见


答案 2

一般。。。

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

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

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

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


推荐