当前位置: 首页 > 面试题库 >

Spring配置XML模式:with or without version?

戚建白
2023-03-14
问题内容

我是Spring的新手。让我感到困惑的是,有时我看到带有版本化模式的XML配置文件,而有时却看到非版本化模式的XML配置文件。例如,有时我看到类似

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <context:annotation-config/>

    <context:component-scan base-package="base.package"/>

</beans>

有时像这样:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>

    <context:component-scan base-package="base.package"/>

</beans>

请注意,两个示例中的spring-beansspring-context模式是不同的。

所以,我的问题是,你将使用哪种样式以及为什么使用?特别是,将来版本更新的架构会不可用,并且当Spring更新架构时,非版本化的架构会与当前应用程序保持兼容吗?

另一个问题是,在哪里可以找到版本化的弹簧模式列表?

非常感谢!


问题答案:

建议使用“无版本” XSD,因为它们已映射到你在应用程序中使用的框架的当前版本。

应用程序和工具切勿尝试从Web上获取那些XSD,因为JAR中包含了这些模式。如果这样做,通常意味着你的应用正在尝试使用比你使用的框架版本更新的XSD,或者你的IDE /工具配置不正确。

据我所知,只有一种情况需要使用特定的XSD版本:当尝试使用在较新版本中已过时/修改的XML属性时。至少可以这样说,这通常不会发生。



 类似资料:
  • 问题内容: 我是Spring的新手。让我感到困惑的是,有时我看到带有版本化模式的XML配置文件,而有时却看到非版本化模式的XML配置文件。例如,有时我看到类似 有时像这样: 请注意,两个示例中的和模式是不同的。 所以,我的问题是,你将使用哪种样式以及为什么使用?特别是,将来版本更新的架构会不可用,并且当Spring更新架构时,非版本化的架构会与当前应用程序保持兼容吗? 另一个问题是,在哪里可以找到

  • 我尝试配置简单的控制器<我有: 在网上。xml 在mvc调度器servlet中。xml 这是我的控制器: 我在Tomcat 6上运行,在这个配置中,它(/index.jsp)工作得很好! 但是如果我像这样改变网址模式 它返回404访问/索引。jsp 我在控制台中看到“It is here”,这意味着url模式工作正常,但ModelAndView没有初始化 奇怪的是,他似乎试图访问空资源(Chrom

  • 目录结构 1.Book,java 2.aop:BookProxy.java bean2.xml 1.在容器中注册两个组件 2.配置aop 1.切入点 2.切面 切入点为需要增强的方法 切面为增强的方向,是前方还是后方还是环绕还是异常还是返回 test 结果为在开始增强。

  • 根据文档--不管应用程序名称如何,如果模式与*/development(即localhost:8888/user/development或localhost:8888/demo/development)匹配,配置服务器应该匹配配置文件模式并获取适当的属性。例如:http://localhost:8888/demo/development我应该从ssh://git@xxxgithub.com/dev

  • 我是新来的Spring。让我困惑的一件事是,有时我看到带有版本化模式的XML配置文件,但有时带有非版本化模式。例如,有时候我看到一些像 有时是这样的: 请注意,在这两个示例中,和模式是不同的。 所以,我的问题是,你会使用哪种风格,为什么?特别是,版本化模式将来会变得不可用吗?当Spring更新模式时,非版本化模式会与当前应用程序保持兼容吗? 一个附带的问题是,我在哪里可以找到版本化的spring模

  • 问题内容: 我想模仿Grails解决i18n消息的方式。 在WEB-INF / i18n /中,我具有以下目录: 管理员 /messages_EN.properties 管理员 /messages_FR.properties 网站 /messages_ZH.properties 网站 /messages_FR.properties 在此示例中,请忽略语言结尾(EN和FR) 在我的xml配置中,我目