当前位置: 首页 > 面试题库 >

EJB,hibernate,spring和JSF之间有什么区别?

莘欣怿
2023-03-14
问题内容

我对不同的Java框架感到非常困惑。我想创建一个Java服务器项目来提供一些Restful
Web服务,但是我真的不知道我应该选择哪种框架。JSF,EJB,Hibernate和Spring有什么区别?请帮助我更多地了解它们。


问题答案:

这些是不同层的框架

  • JSF 用于视图(Web)层,它是一个像Wicket或Tapestry这样的面向组件的框架(页面的每个部分都是一个组件,都有状态),与Spring MVC,Struts或Stripes等Action框架不同

书籍: Core JavaServerFaces(第3版)
教程:CoreServlets.com

  • EJB 3.x 是JavaEE堆栈的一部分的容器。它执行诸如依赖注入和bean生命周期管理之类的事情。对于EJB3,通常需要一台完整的JavaEE应用程序服务器。

教程:JavaEE
6教程:EJB

书籍:EJB 3的实际应用

  • Spring 还是一个容器,但是Spring可以在任何Java代码中运行(一个简单的主类,一个applet,一个Web应用程序或一个JavaEE企业应用程序)。Spring几乎可以完成EJB可以做的所有事情,甚至还有更多,但是我想说它以依赖注入和非介入式事务管理而闻名。

在线参考(优秀)
书籍:尽管有几本正在制作中,但我在Spring 3.x上找不到很好的英语书籍

  • Hibernate 是Java平台上的第一个大型ORM(对象关系映射器),因此极大地启发了 JPAJPA 是EJB3标准的一部分,但可以在没有EJB容器的情况下使用)。我建议对JPA进行编码,并且仅使用hibernate作为提供程序,这样您就可以轻松切换到EclipseLink等。

书籍:Pro JPA 2:精通Java™Persistence
API(非特定
于Hibernate),Java
Persistence与Hibernate(有点陈旧)



 类似资料:
  • 我正在学习JavaEE6教程,我不明白JSF和Facelets之间的区别。第4章有一个小节“开发一个简单的JavaServerFaces应用程序”,第5章有一个小节“开发一个简单的Facelets”应用程序,据我所知,这两个例子都使用完全相同的过程——一个. xhmtl页面用于标记,一个支持bean来保存一些数据,然后一个web.xml文件将网址映射到“FaceletsServlet”。 据我所知

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 问题内容: Hibernate中的persist()和merge()有什么区别? 可以创建UPDATE&INSERT查询,例如: 在这种情况下,将生成 查询, 如下所示: 因此方法可以 生成 一个插入和一个更新。 现在: 这是我在数据库中看到的: 现在使用更新记录 这是我在数据库中看到的: 问题答案: JPA规范包含对这些操作的语义的非常精确的描述,比在javadoc中更好: 应用于实体X 的 p

  • 问题内容: Hibernate和Spring Data JPA之间的主要区别是什么?什么时候不应该使用Hibernate或Spring Data JPA?另外,Spring JDBC模板何时可以比Hibernate / Spring Data JPA更好地执行? 问题答案: Hibernate是一个JPA实现,而Spring Data JPA是一个JPA数据访问抽象。没有JPA提供程序,Sprin

  • 问题内容: 我的问题很简单:Spring jdbcTemplate和Hibernate之间的主要区别是什么?我们应该考虑使用其中一种的主要原因是什么? 谢谢 问题答案: Hibernate是一个非常庞大的解决方案,具有数据持久性和ORM(包括JPA实现)。另外,还定义了许多方法来管理Hibernate中的实体,如何持久化,事务等。在Hibernate中,您可以使用SQL,HQL或Java批注。JD

  • 问题内容: 我有一些疑问。这些是 : JSP和Servlet之间如何关联? JSP是某种Servlet吗? JSP和JSF如何相互关联? JSF是某种基于ASP.NET-MVC的基于预构建UI的JSP吗? 问题答案: JSP(JavaServer页面) JSP是在服务器计算机上运行的一种Java视图技术,使你可以用客户端语言(例如HTML,CSS,JavaScript等)编写模板文本。JSP支持t