Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Seam与Spring相比有哪些优点/缺点?_Spring_Seam - Fatal编程技术网

Seam与Spring相比有哪些优点/缺点?

Seam与Spring相比有哪些优点/缺点?,spring,seam,Spring,Seam,Seam与Spring相比有哪些优点/缺点?为什么我要用接缝代替弹簧 在Seam中有什么事情可以做,而在春季却做不到?春天有什么不能在Seam里做的吗 有状态/无状态体系结构呢?我是一个Spring用户,所以我很自然地有偏见 为什么是春天 清洁代码 简化的应用程序配置 与流行的开源产品的良好集成 一流的AOP支持 企业级安全:Acegi 高度灵活的MVC 抽象数据访问(JDBC可以) 没有EJB的企业Java 测试很容易 为什么是缝线 无缝地合并JavaEE5标准(EJB3.0、JPA、J

Seam与Spring相比有哪些优点/缺点?为什么我要用接缝代替弹簧

在Seam中有什么事情可以做,而在春季却做不到?春天有什么不能在Seam里做的吗

有状态/无状态体系结构呢?我是一个Spring用户,所以我很自然地有偏见

为什么是春天

  • 清洁代码
  • 简化的应用程序配置
  • 与流行的开源产品的良好集成
  • 一流的AOP支持
  • 企业级安全:Acegi
  • 高度灵活的MVC
  • 抽象数据访问(JDBC可以)
  • 没有EJB的企业Java
  • 测试很容易
为什么是缝线

  • 无缝地合并JavaEE5标准(EJB3.0、JPA、JSF、注释)
  • 精心设计的有状态的
  • 双射
  • 集成Ajax(ICEfaces和Ajax4JSF)
  • 业务流程集成(jBPM)
  • 业务规则集成(Drools)
  • 工作区管理
  • 交付完整的堆栈(来自JBoss和RedHat)
  • Seam文本和EL增强
  • 可能会成为标准(JSR-299:WebBeans)

来自框架死亡竞赛:Spring vs Seam。托马斯·维拉迪库苏马(春天)。约书亚·杰克逊(Seam)。Java用户组印度尼西亚。JaMU 07.03。2007年3月17日power point演示

Seam将为您提供组成Seam堆栈的组件之间的漂亮、啊、无缝的集成。一切都很好,只要你保持在堆栈内,并在接缝模型和箔的东西。不过,一旦你开始做一些不寻常的事情,这一切就开始变得不那么令人信服了


如果不是太笼统的话,Seam在这方面非常“微软”。这不是一件坏事,只是一件风格上的事情。Spring更具开放性,需要付出更多的努力,但它最终更灵活,更开放。

您可以一起使用Spring和Seam—Spring用于后端组件,Seam用于增强web层(JSF/GWT/Wicket)和其他东西。Seam提供了大量Spring功能(即IoC容器、事务管理)——在您的项目中,您可以决定使用哪个实现。 有关将Seam与Spring集成的更多详细信息-

让我们比较一下这两者

什么是常见的?

两者都是开源的,遵循MVC架构,并且有一个基于servlet的前端控制器

Spring MVC的优势

  • 支柱的延伸
  • 视图可以使用JSP和HTML开发。您还可以插入其他插件,如PHP或velocity
  • 具有大量预定义的控制器
  • 与Spring框架集成在一起
接缝的优点

  • JSF的扩展
  • 视图可以使用JSF组件库开发。有很多供应商可供选择
  • 将JPA实体与Web层集成
  • 基于注释的验证
  • 与EJB3.0集成
  • 提供流程流定义的现成jBPM支持
  • 与Drools集成,您可以在其中定义web层业务规则
  • 良好的社区支持
结论

由于Seam是基于JSF构建的,所以它有大量的UI组件库可供选择。它可以更好地重用JavaEE堆栈。它预先集成了许多有趣的模块


SpringMVC构建在Struts和Spring之上,因此它将比其他框架更好地重用Spring框架堆栈。但是视图是使用JSP构建的,因此我们必须依赖JSP标记库供应商来构建丰富的组件


Seam框架将是一个更好的选择,因为Spring框架无论如何都是可扩展的,可以被Seam利用。

尽管Seam确实比Spring有很多优势,但有一个神奇的词值得注意,这就是性能!!!如果你不担心性能问题,我会选择seam。另一方面,如果你想让你的应用程序尽可能快,而你的硬件有限,我会使用spring。我不是说你不能用seam开发快速的应用程序,但是为了做到这一点,你真的需要知道你在做什么。我已经使用了这两种方法(我不是其中任何一种的大师),我发现尽管spring需要更多的努力来构建您想要的东西,但最终的结果是更灵活,性能更好。我不认为在一个框架中可以做的事情在另一个框架中是做不到的,也就是说,请记住,我不是任何一个框架的专家。

Spring MVC构建在Struts之上,Spring
,Spring从来没有构建在Struts之上。“但是视图是使用JSP[…]构建的。”。JSP是一种选择。SpringMVC的好处在于,您可以选择任何视图技术。