Spring,Struts,Hibernate,JavaServer Faces,Tapestry有什么区别?
我可以知道有什么区别:
- 弹簧
- 支柱
- Struts 2
- 过冬
- JavaServer Faces
- JavaServer Pages
- 挂毯
这些技术/框架是否相互补充? 或者他们是彼此的替代品(在我使用其中之一后,那么我不需要使用其他的)?
谢谢。
- Spring是一个IoC容器 (至less是Spring的核心),用于使用dependency injection来连接事物。 Spring提供额外的服务,如事务pipe理和各种其他技术的无缝集成。
- Struts是一个基于行为的表示框架 (但不用于新的开发)。
- Struts 2是一个基于动作的表示框架 ,上面的版本2(由WebWork与Struts的合并创build)。
- Hibernate是一个对象关系映射工具,一个持久化框架 。
- JavaServer Faces是基于组件的表示框架 。
- JavaServer Pages是所有提到的呈现框架所使用的视图技术。
- Tapestry是另一种基于组件的表示框架 。
所以,总结一下:
- Struts 2,JSF,Tapestry(和Wicket,Spring MVC,Stripes)都是演示框架 。 如果你使用其中的一个,你就不用另一个。
- Hibernate是一个持久化框架 ,用于在关系数据库中保存Java对象。
- Spring可以用来将所有这些连接在一起,并提供声明式事务pipe理。
我不想让事情更混乱,但请注意,Java EE 6提供了上述框架的现代化,标准化和非常好的等价物:用于表示的JSF 2.0和Facelets,用于持久性的JPA 2.0,dependency injection等。新的发展,这是IMO的一个严肃的select,Java EE 6是一个伟大的堆栈。
也可以看看
- 现在select一个Java Web框架?
- Java – JDBC的替代品
- JEE6与Spring 3堆栈
- 在Java EE 6中制作Java Web应用程序需要学习什么?
通常…
Hibernate用于处理数据库操作。 有一组丰富的数据库实用程序function,可以减less您的代码行数。 尤其是你必须阅读@Hibernate的Annotation。 这是一个ORM框架和持久层。
Spring提供了一套丰富的基于注入的工作机制。 目前,spring是众所周知的。 你还必须阅读关于Spring AOP。 Struts和Hibernate之间有一个桥梁。 主要是Spring提供这种工具。
Struts2提供了基于动作的编程。 有一组丰富的Struts标签。 Strutscertificate了基于动作的编程,所以你必须保持你的视图的所有相关控制。
另外,Tapestry是Java的一个不同的框架。 你只需要处理.tml
(模板文件)。 你必须为任何类创build两个主文件。 一个是JAVA类,另一个是它的模板。 两个名字都一样。 Tapestry自动调用相关的类。
你可以在这里看到自己的概况和排名。 Hibernate是一个ORM,所以你可以使用struts + Hiberante或spring + hibernate来构build一个web应用程序。 不同的networking框架和许多互为替代品。
Spring是一个处理IOC(控制反转)的应用程序框架。
Struts 2是一个处理动作的Web应用程序MVC框架。
Hibernate是一个处理持久数据的ORM(对象关系映射)。
在hibernate中,您不必担心如何在SQL中创build表,并且您不需要记住连接,像数据那样准备好的语句就会保存在数据库中。 所以,基本上它使开发人员的生活变得简单。
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没有。
Tapestry页面和组件是简单的POJO(简单的旧Java对象),由getter和setter组成,可以方便地访问Java语言function。