代码之家  ›  专栏  ›  技术社区  ›  Jon Onstott

与JSF 2相比的弹簧[关闭]

  •  11
  • Jon Onstott  · 技术社区  · 16 年前

    我没有用弹簧,但听起来它相当流行。我听说它提供了另一种做事情的方法,比如可以使用RESTfulWeb服务。有人知道是否提供了类似于JSF 2所引入的特性,或者我会比较苹果和桔子吗?

    编辑:

    谢谢你的信息。将SpringMVC与JSF 2进行比较,使用SpringMVC而不是JSF 2功能是否有好处?

    谢谢。

    6 回复  |  直到 13 年前
        1
  •  17
  •   Drew    15 年前

    从苹果到橙子。

    Spring是一个应用程序框架,它将依赖注入、面向方面的编程和其他一些东西集成到一个堆栈中。它的粗糙的苹果到苹果的比较将是J2EE。

    JSF是一种基于模型-视图-控制器范式的视图层技术。其粗糙的橙子与橙子的比较将是春季MVC。两者都可以使用不同的视图技术(如facelets、jsp、velocity等),并且都非常好地集成到各自的堆栈中。

    --回答新问题--

    我已经使用了相当多的JSF2(尽可能多地考虑到它的年轻),我发现它是一个非常好的框架。它修复了JSF1.2的许多缺点,我觉得JSF1.2对我来说也是一个很好的匹配。

    我已经 我经常使用SpringMVC,但我看过其他开发人员所做的一些代码。

    我(非常)有限的经验是,SpringMVC感觉更像一个“操作”框架,而JSF感觉更像一个“组件”框架。我个人认为,组件式框架是ood更自然的扩展,它吸引了我和我编写软件的方式。

        2
  •  4
  •   Bozho    16 年前

    SpringMVC是Spring框架内的一个Web框架。它确实提供了JSF 2.0中的特性:

    • AJAX支持
    • 验证
    • 依赖注入
    • 等。

    然而,您可以将Spring(而不是SpringMVC)与JSF2.0一起使用,Spring提供依赖注入、AOP、事务管理机制,JSF提供Web层。

        3
  •  2
  •   Kappa    15 年前

    JSF只是MVC的视图层,对于完整的MVC,需要与其他技术(如Spring/Hibernate或EJB)一起使用。

    Spring(而不是SpringMVC)是MVC的控制器层,正如我所说,它可以与JSF(Struts、JSP/Servlets等)和Hibernate等一起使用。

    我已经使用SpringMVC大约6个月了,虽然它可能不是SpringMVC的最新版本,但我发现我们有这么多XML需要处理,这有点让人恼火。所有托管bean和DAO都有XML配置。此外,似乎所有东西都必须通过一个名为onSubmit()的方法。

    在我看来,带有EJB的JSF要简单得多… 所有操作都可以使用注释来完成,所以只需在您的支持bean和JSF中使用@managedbean=the bean,就可以访问支持bean的数据。 另外,您可以使用EJB的会话bean作为JSF的支持bean,然后直接访问DAO(模型层)实体bean。 同样,只需使用@entity注释和EntityManager类

    另外,我喜欢您可以自由地设置自己的操作方法,这样您就可以在bean中有一个名为the bean.adddetails()的方法,并使用the bean.adddetails()在JSF中调用它,而不是像Spring MVC那样通过一个方法来调用所有内容。

    正如我所说,JSF只是MVC的视图层,我个人喜欢将它与EJB一起使用,因为这将提供suns j2ee.jar中所有的完整MVC,因此确保您拥有正确的版本和不需要配置没有问题。

    JSF 2.0远比JSF1.2优越,JSF1.2总是感觉像EJB3.1的一半,而EJB3.1与EJB2.X完全不同,甚至比EJB3.0好得多。 对于我来说,jsf2.0和ejb3.1是如此简单和易于开发,并且一切都是非常透明的。

        4
  •  1
  •   Sajan Raj    15 年前

    我在JSF 1.2+JSF ManagedBeans工作了2年,现在我已经开始迁移到JSF 2.0了。在了解了Spring和SpringMVC之后,我觉得JSF(1.2或2.0)+Spring(服务而不是MVC)+Hibernate将是一个非常好的体系结构。

        5
  •  1
  •   Gerard    13 年前

    Spring数十亿配置中最糟糕的部分之一,即使在Spring3中,也必须有配置文件…例如,您有SOAP Web服务,并且希望将Spring集成为后端。您可以找到在常规Web服务中不能注入SpringBeans的内容。你还必须把你的服务换成Spring SOAP…… Spring3使用了注释,但每次猜测打开或关闭某些服务时使用哪个注释都会让您感到恼火…… 相反,您可以只拥有EJB3.1,它是一个简单、强大的Java开发人员,您可以享受它。 我注意到很多春天的粉丝已经不知道EJB3了,他们为什么喜欢春天。)

        6
  •  0
  •   Gerard    13 年前

    JSF2既可以作为后端,也可以作为前端,而且它比SpringMVC具有更好的依赖注入、导航和验证。

    Spring本身可以用作企业框架,而不是EJB3.1/EJB3.1 better/,但由于具有PrimeFaces的前端JSF2没有其他选择。

    推荐文章