【发布时间】:2012-05-29 17:16:03
【问题描述】:
有两种使用 Spring 的方法(注解/XML)。在 XML 中,我们在 XML 文件中指定所有内容。在注解中,我们使用<context:component-scan base-package="com.xyz" /> <aop:aspectj-autoproxy /> 等命令。因此,在注解中,可以对包进行完整扫描以识别依赖关系等。所以作为初学者,我想知道它对我们应用程序的整体影响。
编辑 请不要为 Spring 的初始化而争吵。这是一个普遍的问题。你也可以举一个 Hibernate 的例子。 Struts 或其他任何东西。
错过了 Java 配置。也是这样。
【问题讨论】:
-
"有两种使用 Spring (Annotations/XML) 的方法" -> 实际上有 3 种 - 从 Spring 3.0 开始,您也可以使用 Java 来配置您的容器。
-
XML-based与 Spring 中的Annotation-based配置是有争议的硬币的两个方面!随着应用程序变得越来越大,XML 往往会变得混乱和笨拙。显然,它不能完全避免,因为它是实例化 Spring 上下文的基础。话虽如此,XML 仍然使整个应用程序具有可读性,而注释使源代码更具可读性。实际上,两者在对应用程序的“影响”方面是等效的。 -
Web 用户对 xml 配置“[未] 完全避免”不正确;您可以实例化没有 XML 的 spring 上下文。参见例如thebinaryidiot.com/archives/2012/04/05/simple-spring-mvc-part-1
-
@WebUser 您可以完全基于 Java 配置创建应用程序上下文,请参阅 Spring 参考文档中的Java-based container configuration。
-
@matsev 和 rhollencamp,你们都是对的。我最近读到它,忘记包括在内。谢谢指正!
标签: java xml spring annotations