我下载了Struts 2的最新版本来升级我们当前的jar集,并查看Struts 2附带的大量jar包,我想只包含那些真正需要的jar。
我看了一下Struts 2 dependency tree和Struts 2 compile dependencies,但我很难理解它们对我的应用意味着什么。我不认为我们在org.springframework
中使用任何东西(在工作区范围内进行搜索),但这足以知道我们是否可以排除这些罐子?
它是否像从上面的第二个链接查看编译依赖关系表的“可选”列一样简单?在可选项中,您如何知道何时需要它们以及何时不需要它们?有这么多....
Struts2项目对Spring框架有编译依赖性。但这并不意味着您需要一个弹簧框架罐到您的项目。正如你所提到的,这些依赖关系是optional。这意味着如果你使用直接依赖于Spring的Struts2的某些功能,它们是必需的。您可以使用Maven来解决项目的pom.xml
的依赖关系。如果要查看/分析依赖关系树,可以使用eclipse m2eclipse插件。其他IDE中提供的类似可视化工具。与手动调用mvn dependency:tree
相同。
由于一些不错的核心功能,struts2依赖于spring框架。依赖注入和AOP是带有struts2的弹簧框架的广泛使用的特征。而struts2框架富含UI和MVC视图,但这些是使struts2依赖于spring的组件。 Spring框架的安全功能,JDBC,事务管理是可以与struts2一起使用的另一个模块。
谢谢,阿米特库马尔
Struts2对Spring没有任何依赖。但是,当你看一下struts 2库时,它包含了Spring相关的jar。这样做是为了添加额外的支持来集成Struts和Spring,并使用nice来拥有Spring的功能/模块,如DI,AOP,事务等。排除这些jar并继续使用传统的Struts框架是完全可选的。另外,因为没有像struts 3那样在市场上进行增量开发。前进的方法是将struts与Spring集成。