我对春天有两个主要的疑问:
当我们从上下文中获取bean时,我们是否应该使用以下方式:
context = new ClassPathXmlApplicationContext("applicationContext.xml");
是否只能通过这种明确的方式调用它? 当网站开始时,我正在考虑这个春季配置文件也应该被阅读。
当我们使用spring或其他软件包的标签时,如jstl等。我们应该首先给出引用语句:
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>
我对此非常好奇,当页面解析时,Web服务器会下载这个uri并在此页面中使用它吗?但没有互联网,似乎也有效。它是如何工作的,或者为什么我们必须在文件的头部添加它。
答案 0 :(得分:1)
确实可以通过这种方式从Spring上下文中获取bean,但可能会被认为是打败了拥有dependency injection的bean容器的目的。容器的目标是为您的类提供bean,因此他们不需要直接从上下文实例化或获取它们。有关(基于xml的)DI的简单示例,请参阅此short tutorial。
如果tld位于特定路径下的类路径中,则uri
标记中的<%taglib>
属性可以在本地解析。请参阅With JSP, does the taglib URI mean that my site is reliant on the URI resolving?。