29

在春天,每当我<context:annotation-config/>在 spring.xml 中写入时,我都会收到此错误:-

线程“main” org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException 中的异常:来自类路径资源 [spring.xml] 的 XML 文档中的第 81 行无效;嵌套异常是 org.xml.sax.SAXParseException;行号:81;列号:30;cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素“context:annotation-config”的声明。

我的 spring.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"
xmlns:context="http://www.springframework.org/schema/context"
>

<bean id="circle" class="com.mysite.Circle">
</bean>

 ...

<context:annotation-config/>

谁能告诉我我哪里出错了????

4

4 回答 4

48

您正在使用 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-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/beans/spring-beans-4.0.xsd,我认为它不存在。

于 2013-09-14T17:34:16.917 回答
5

注意:当你使用context命名空间时,你应该更新 XML 头2属性:

  • xmlns:context
  • xsi:schemaLocation.

初学者过去只添加xmlns:context并忘记了 2 个新条目xsi:schemaLocation

<beans 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"
......
>
于 2016-01-31T23:41:43.043 回答
4

如果使用 Spring 4.0,这就是我发现的:

    <?xml version="1.0" encoding="UTF-8"?>
    <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-4.0.xsd  
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-4.0.xsd" 
   xmlns:context="http://www.springframework.org/schema/context">

它对我有用。在这里找到参考:http: //javahash.com/spring-4-mvc-hello-world-tutorial-full-example/

于 2015-07-07T09:45:48.460 回答
0

在您的 xml 文件中添加这些行。

<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.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">

.

于 2018-01-05T14:46:02.390 回答