最初,我的appcontext.xml标头如下所示。

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


如果没有互联网连接,这将不起作用。因此,将上面的xsi:schemaLocation更改如下

  xsi:schemaLocation="http://www.springframework.org/schema/beans
  classpath:/org/springframework/beans/factory/xml/spring-beans-3.1.xsd
   http://www.springframework.org/schema/context
   classpath:/org/springframework/context/config/spring-context-3.1.xsd
   http://www.springframework.org/schema/util
    classpath:/org/springframework/beans/factory/xml/spring-util-3.1.xsd"


上面的方法需要很长时间才能加载xsd文件并运行该应用程序。

还有其他方法可以最大程度地减少加载时间。我看到,当没有Internet连接时,classpath:/ ..是加载xsd的唯一选项。有人可以帮我这个忙吗?

最佳答案

有关schemaLocation的更多信息,请参见:


http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation
http://www.w3.org/TR/xmlschema-0/#schemaLocation


如果使用安装在Eclipse中的Spring IDE,则IDE已拥有自己提供的xmlns所需的XSD副本。因此,它不需要通过schemaLocation中提供的URL查找它。

09-09 21:56