EJB、hibernate、spring 和 JSF 有什么区别? [关闭]

2024-03-08

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


这些是不同层的框架。

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

    Books: 核心 JavaServer Faces(第三版) https://rads.stackoverflow.com/amzn/click/com/0137012896
    教程:CoreServlets.com http://www.coreservlets.com/JSF-Tutorial/

  • EJB 3.x是一个容器,它是JavaEE http://download.oracle.com/javaee堆。它执行依赖注入和 bean 生命周期管理等操作。您通常需要一个用于 EJB3 的完整 JavaEE 应用程序服务器

    教程:JavaEE 6 教程:EJB http://download.oracle.com/javaee/6/tutorial/doc/bnblr.html
    Books: EJB 3 实际应用 https://rads.stackoverflow.com/amzn/click/com/1933988347

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

    在线参考 http://static.springsource.org/spring/docs/current/spring-framework-reference/html/(出色的)
    书籍:我找不到一本关于 Spring 3.x 的好英文书,尽管有几本正在制作中

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

    Books: Pro JPA 2:掌握 Java™ 持久性 API https://rads.stackoverflow.com/amzn/click/com/1430219564(不是休眠特定的),
    Java 与 Hibernate 的持久性 http://www.manning.com/bauer2/(有点老了)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EJB、hibernate、spring 和 JSF 有什么区别? [关闭] 的相关文章

随机推荐