5

哪种方式是使用 Struts2 的更简单、更有条理的方式?使用注释还是使用 XML 文件?

如果带有注释,那么带有哪种注释?使用 struts-convention-plugin,您甚至可以完全避免编写约定,即@results@action.

注释比不写它们有什么好处?

4

2 回答 2

5

我一直使用 XML,最近开始使用 Convention。

我现在会说您仍然可以使用 XML,但使用 Annotations 会更好。

支持这一点的事实是,使用 Convention 插件;

  1. 需要更少的代码:由于 Convention 插件会扫描一些包以查找 Action,因此您不再需要声明任何操作。这同样适用于方法名称、结果声明等:您将只指定与标准行为不同的内容,而对于 XML,您每次都必须编写“显而易见的”;
  2. 知识是分散的(或分布式的):配置现在在它应该在的地方;如果你在一个动作中,你不需要打开struts.xml配置文件,找到动作元素(以及许多其他元素)来发现它是如何配置的;您只需查看类中的注释即可立即了解其工作原理。这同样适用于验证(在类内部而不是在actionName-validation.xml文件中;

这将帮助您获得更多粒度、更简洁的代码、更小的文件并且几乎无需配置。

于 2013-10-24T09:38:23.977 回答
3

使用 XML 文件和注释的两种配置是等效的。在我看来,这只是感觉和学习曲线的问题。

使用注释的主要好处是您可以先验地摆脱 struts.xml 文件(是的,所有框架都使用 XML 声明性架构,删除其中一个可以减轻类路径内容)。但是根据我的小经验,你不能考虑不将struts.xml 文件用于大型项目。此外,正如您提到的,使用注释,您可以看到继承框架提供的智能默认值的强大功能。因此,有些注解不是强制性的,struts 2 会自动使用默认配置(称为零配置,或约定优于配置)。

使用 XML 文件的主要好处是您有一个集中的方式来管理您的应用程序架构组件,即使您可以在多个 XML 文件(在 struts.xml 文件中引用)中模块化您的组件声明。我想使用 XML 文件可以缓解学习曲线。XML 文件还允许您继承智能默认值。

于 2013-10-24T09:50:05.637 回答