关于spring引用语句和应用程序上下文的问题

时间:2014-10-28 11:41:48

标签: spring tags applicationcontext

我对春天有两个主要的疑问:

  1. 当我们从上下文中获取bean时,我们是否应该使用以下方式:

    context = new ClassPathXmlApplicationContext("applicationContext.xml");

    是否只能通过这种明确的方式调用它? 当网站开始时,我正在考虑这个春季配置文件也应该被阅读。

  2. 当我们使用spring或其他软件包的标签时,如jstl等。我们应该首先给出引用语句:

    <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>

    我对此非常好奇,当页面解析时,Web服务器会下载这个uri并在此页面中使用它吗?但没有互联网,似乎也有效。它是如何工作的,或者为什么我们必须在文件的头部添加它。

1 个答案:

答案 0 :(得分:1)

  1. 确实可以通过这种方式从Spring上下文中获取bean,但可能会被认为是打败了拥有dependency injection的bean容器的目的。容器的目标是为您的类提供bean,因此他们不需要直接从上下文实例化或获取它们。有关(基于xml的)DI的简单示例,请参阅此short tutorial

  2. 如果tld位于特定路径下的类路径中,则uri标记中的<%taglib>属性可以在本地解析。请参阅With JSP, does the taglib URI mean that my site is reliant on the URI resolving?