gpt4 book ai didi

java - : tag in the Spring template app? bean 是什么

转载 作者:行者123 更新时间:2023-12-02 06:20:30 26 4
gpt4 key购买 nike

我刚刚使用 Spring Source IDE 创建了一个 Spring 模板应用程序,它在 servlet-context.xml 中定义了 ViewResolver,如下所示:

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>

我对这个配置不熟悉,我通常看到ViewResolver是这样定义的:

<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>

谁能解释一下其中的区别吗?

最佳答案

它们实际上是等价的。在第一种情况下,beans 是 Spring beans XML schema 的命名空间前缀。 。命名空间前缀到模式定义中的命名空间的映射是在其他地方完成的——最有可能在根元素中。

在第二种情况下,不需要前缀,因为default命名空间被映射到相同的模式——同样,很可能在根元素中。来自文档:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

xmlns: 表示默认命名空间为 http://www.springframework.org/schema/beans 。在 xsi:schemaLocation 属性中,您会看到命名空间已映射到定义该命名空间的 Spring beans 架构:

<xsd:schema xmlns="http://www.springframework.org/schema/beans" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.springframework.org/schema/beans">

所以它实际上只是一个 XML 的东西而不是 Spring 的东西。

关于java - : tag in the Spring template app? bean 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com