【问题标题】:Why does Struts 2 depend on springframework?为什么Struts 2依赖springframework?
【发布时间】:2015-11-15 13:02:15
【问题描述】:

我下载了最新版本的 Struts 2 来升级我们当前的 jar 集,查看 Struts 2 附带的大量 jar 列表,我只想包含真正需要的那些。

我查看了Struts 2 dependency treeStruts 2 compile dependencies,但我无法理解它们对我的应用程序的意义。我不认为我们在org.springframework 中使用了任何东西(进行工作区范围的搜索),但这足以知道我们是否可以排除这些罐子吗?

是否就像从上面的第二个链接中查看编译依赖项表的“可选”列一样简单?在可选的那些中,你怎么知道什么时候需要,什么时候不需要?有这么多……

【问题讨论】:

    标签: java spring maven struts2 dependencies


    【解决方案1】:

    Struts2 项目对 Spring 框架有编译依赖。但这并不意味着您的项目需要一个 spring 框架 jars。正如您提到的,这些依赖项是optional。这意味着如果您使用直接依赖于 Spring 的 Struts2 的某些特性,它们是必需的。您可以使用 Maven 来解决项目的 pom.xml 的依赖关系。如果要查看/分析依赖树,可以使用 eclipse m2eclipse 插件。其他 IDE 中可用的类似可视化工具。与手动调用mvn dependency:tree 相同。

    【讨论】:

    • 哇,我不知道 Maven 有这个功能。在我的环境中,仅此一项就足以让我将我的项目转换为使用 Maven!
    【解决方案2】:

    不依赖spring框架。

    查看here

    第 3 步 - 将 Struts 2 Jar 文件添加到类路径

    查看 strtus2 项目所需的最少库。

    【讨论】:

      【解决方案3】:

      Struts2 仅在构建期间将 spring 框架用于测试和编译。

      除此之外,只有 Struts2 Spring plugin 依赖于 spring 框架。

      如果你没有使用这个插件,你的项目中不应该有任何 spring 依赖项。

      【讨论】:

        【解决方案4】:

        struts2 依赖于 spring 框架,因为它有一些不错的核心特性。 依赖注入和 AOP 是 spring 框架与 struts2 广泛使用的特性。 虽然 struts2 框架有丰富的 UI 和 MVC 视图,但这些都是使 struts2 依赖于 spring 的组件。 Spring框架的安全特性、JDBC、事务管理是struts2可以使用的另一个模块。

        谢谢, 阿米特库马尔

        【讨论】:

          【解决方案5】:

          Struts2 对 Spring 没有任何依赖。但是,当您查看 struts 2 库时,它包含与 Spring 相关的 jar。这样做是为了增加对集成 Struts 和 Spring 的额外支持,并使用 nice 来拥有 Spring 的功能/模块,如 DI、AOP、事务等。排除这些 jar 并继续使用传统的 Struts 框架是完全可选的。此外,没有像将 struts 3 推向市场那样的 struts 增量开发。前进的道路是将struts与Spring集成。

          【讨论】:

            猜你喜欢
            • 2018-03-02
            • 1970-01-01
            • 1970-01-01
            • 2010-12-15
            • 2016-06-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-10
            相关资源
            最近更新 更多