为什么使用Spring而不是JSF(spring优于JSF)?

时间:2011-09-24 08:47:54

标签: spring java-ee

我不太了解JSF,我有一个只使用JSF的朋友 他问我一个非常开放的问题,为什么你用春天而不是jsf? 因为在我脑海里有很多关于春天的事情 我无法给出一些直接的答案 那么spring比JSF有什么优势呢?

3 个答案:

答案 0 :(得分:3)

Spring和JSF是完全不同的框架 JSF更像是一个Web应用程序框架,您仍然可以使用spring和JSF来管理对象的关系和创建。

Spring更像是一个完整的j2ee应用程序框架/平台 Spring MVC和Web flow将帮助您设计类似于JSF的Web应用程序 但是具有IOC概念的Spring也带来了许多其他模块,例如依赖注入,aop,DAO,ORM,集成,批处理和社交工具等等。

您还可以查看JSF-Spring组合 - http://www.springsource.org/node/422

答案 1 :(得分:2)

JSF是表示层,Spring业务层(粗略地说),它们可以一起使用而不会竞争。

答案 2 :(得分:1)

如前所述,JSF是一个请求驱动的MVC Web框架,围绕轻量级IoC容器构建,旨在简化和标准化Web应用程序的UI层构建方式。

另一方面,Spring不太关心UI层,但其精确定义很难制定。可以说SF的主要功能是以标准化方式将Web应用程序的不同连接在一起,同时从开发者中抽象出特定Web技术的实现细节。作为后果之一,开发人员无需实施“管道”,而是获得相对容易测试,实施和使用的工作模块互连。这应该可以提高生产力并缩短开发周期。

这种抽象可以通过各种Spring模块来查看 - Spring是大量模块化的,因此您可以选择使用框架的哪些组件。虽然它具有MVC框架(SpringMVC主要是作为对Spring开发人员认为写得不好的Jakarta Struts的反应而编写的),但Spring缺少专用的表示模块,因此您可以自由使用大多数现有的UI技术(例如JSF, GWT-oids等) - 一旦你在Spring中正确配置它们。

换句话说,JSF和Spring的“范围”是完全不同的(尽管不完全是分离的)。