Spring MVC注释vs xml配置

时间:2012-03-05 23:45:03

标签: xml spring spring-mvc annotations spring-annotations

我一直在升级使用Framework 2.5.6,Security 2.0.4和Web Services 1.5的Spring MVC应用程序。在研究新版本时,我意识到Spring 3.1.0和3.0.7不赞成控制器的继承,而是支持注释驱动的配置。我知道注释是Spring配置的前进方向,但在我的情况下,将为依赖注入配置默认值的人无法编辑src文件。

我公司的流程是这样的:

  • 我是Java EE应用程序的主要开发人员。
  • 我们有另一个设计师团队和不太熟练的开发人员,他们定制了jsp,css,(某些) javascript,xsl,XML Spring配置和Spring 属性文件。
  • 我们有超过100个有效的自定义实现,每个都有 将不同的默认值注入到bean中,一些使用i18n消息传递。
  • 我们拥有一个非常智能的构建流程,使我们的“定制团队”能够在自己的源代码管理系统中维护自定义应用程序,而不是在我们的核心产品中拥有100个不同的主题。在编译和部署到Tomcat之前,构建脚本将覆盖从自定义应用程序到核心应用程序的任何文件。因此,永远不会触及src文件,将工程与我们公司内部的美学脱钩。

(如果我有机会在应用程序中构建一个配置模块,它就已经完成了。所以现在我们一直都在管理XML配置。)

那么注释配置在我的情况下如何工作?在我看来,鉴于我们产品的架构,它不是一个可行的解决方案。开发人员在src文件而不是XML文件中管理依赖注入不是注释驱动配置的主要目标吗?

有没有人知道在Spring 3中只有XML配置的方法?

编辑: 我发现了这个:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-java-combining所以我认为我可以迁移所有控制器以使用注释,但保留其他bean,因为我们的自定义团队经常不会触及控制器配置。

1 个答案:

答案 0 :(得分:2)

我不是一个很好的专家,但我在当前项目中使用spring 3.1并且仍然有大量的xml配置:整个应用程序是由foo-servlet.xml中定义的一堆bean组装而成的(所以我有插入控制器bean等的daos)。我的控制器肯定有与传入HTTP请求相关的方法的注释,但它们用于URL参数之类的东西 - 与代码紧密相关的细节类型。我在测试中使用注释和类型驱动注入,因为它快速而简单。

所以我有点困惑阅读你的问题。这可能是我的误解,或者我的情况有所不同,但听起来有点像你过度估计需要使用注释的程度。我在它看起来有意义的地方使用它们,但坚持使用xml最好的地方......

相关问题