【问题标题】:What are the advantages/disadvantages of Seam over Spring?与 Spring 相比,Seam 的优点/缺点是什么?
【发布时间】:2010-10-31 19:53:54
【问题描述】:

Seam 与 Spring 相比有哪些优点/缺点?为什么我要使用 Seam 来代替 Spring?

有什么可以在 Seam 中完成而在 Spring 中无法完成的事情吗? Spring 中的任何事情都不能在 Seam 中完成?

有状态/无状态架构呢?我是 Spring 用户,所以我自然有偏见。

【问题讨论】:

    标签: spring seam


    【解决方案1】:

    为什么是春天?

    • 更清洁的代码
    • 简化的应用程序配置
    • 与流行的开源产品完美集成
    • 一流的 AOP 支持
    • 企业级安全:Acegi
    • 高度灵活的 MVC
    • 抽象数据访问(JDBC 没问题)
    • 没有 EJB 的企业 Java
    • 测试很简单

    为什么要缝合?

    • 无缝合并 Java EE 5 标准(EJB 3.0、JPA、JSF、Annotation)
    • 有状态的设计
    • 双射
    • 集成 Ajax(ICEfaces 和 Ajax4JSF)
    • 业务流程集成 (jBPM)
    • 业务规则集成 (Drools)
    • 工作区管理
    • 提供完整的堆栈(来自 JBoss 和 RedHat)
    • Seam Text 和 EL 增强功能
    • 可能会成为标准(JSR-299:Web Beans)

    来自框架死亡竞赛:Spring 与 Seam。托马斯 Wiradikusuma(春季)。约书亚杰克逊(接缝)。 Java 用户组印度尼西亚。贾木 07.03。 2007年3月17日简报here

    【讨论】:

      【解决方案2】:

      虽然seam确实比spring有很多优势,但是有一个神奇的词真的很值得关注,那就是PERFORMANCE!!!如果您不担心性能问题,我会选择接缝。另一方面,如果您希望您的应用程序尽可能快并且您的硬件有限,我会使用 spring。我并不是说你不能用 seam 开发快速的应用程序,但为了做到这一点,你真的需要知道你在做什么。我已经使用了它们(我不是其中任何一个的专家),我发现虽然 spring 需要更多的努力来构建你想要的东西,但最终结果更加灵活并且表现更好。我认为没有什么可以在一个框架中完成而在另一个框架中无法完成,请记住,我不是其中任何一个框架的专家。

      【讨论】:

        【解决方案3】:

        Seam 会给你一个漂亮的,啊,无缝的,组成seam stack 的组件之间的集成。一切都很好,只要你保持在那个堆栈内,在接缝模型和 foing 东西内。但是,一旦您开始做一些不寻常的事情,这一切就开始显得不那么令人信服了。

        如果不是太笼统,Seam 在这方面非常“微软化”。这不是一件坏事,这只是一个风格问题。 Spring 更加开放,需要付出更多努力才能开始,但它最终更加灵活,更加开放。

        【讨论】:

          【解决方案4】:

          您可以同时使用 Spring 和 Seam - Spring 用于后端组件,Seam 用于增强 Web 层(JSF/GWT/Wicket)和其他东西。 Seam 提供了很多 Spring 功能(即 IoC 容器、事务管理)——在你的项目中你可以决定——使用巫婆实现。 有关将 Seam 与 Spring 集成的更多详细信息 - "Seam in Action - free bonus chapter"

          【讨论】:

            【解决方案5】:

            让我们比较一下两者。

            什么是常见的?

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

            Spring MVC 的优点

            • Struts 的扩展。
            • 可以使用 JSP 和 HTML 开发视图。您还可以插入其他插件,例如 PHP 或 Velocity。
            • 预定义了大量控制器。
            • 开箱即用地与 Spring 框架集成。

            Seam 的优势

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

            结论

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

            Spring MVC 建立在 Struts 和 Spring 之上,因此它对 Spring 框架堆栈的重用要比其他框架好得多。但是视图是使用JSP构建的,所以我们不得不依赖JSP标签库厂商来构建丰富的组件。

            Seam 框架将是更好的选择,因为 Spring 框架无论如何都具有足够的可扩展性以供 Seam 使用。

            【讨论】:

            • Spring MVC is built on top of Struts and Spring,Spring 从未建立在 Struts 之上。
            • “但是视图是使用 JSP [...] 构建的”。 JSP 是一个选项。 Spring MVC 的好处在于您可以选择任何视图技术。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-07-24
            • 2019-09-07
            • 2018-12-15
            • 2016-02-27
            • 1970-01-01
            • 2011-03-29
            • 1970-01-01
            相关资源
            最近更新 更多