Spring框架工作配置问题“元素上下文的前缀上下文:annotation-config未绑定”

时间:2013-08-08 23:01:40

标签: java xml spring

我有一个奇怪的问题,我似乎无法追查。我有这个与其他服务器一起工作没有问题,但我似乎无法让这个服务器工作。我在问题中看到的最近的帖子是这篇文章The prefix "context" for element "context:component-scan" is not bound

所有其他人真的只是因为前缀不在xml文件中。我希望有人能够在这里指出我正确的方向。

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"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xmlns:mongo="http://www.springframework.org/schema/data/mongo"
  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
   http://www.springframework.org/schema/data/mongo
    http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">

    <context:annotation-config/>

所以我有,但得到这个错误:

org.xml.sax.SAXParseException: The prefix "context" for element "context:annotation-config" is not bound.

感谢任何帮助。让我知道我还能提供什么。

由于

4 个答案:

答案 0 :(得分:16)

在我意识到beans标记属性xmlns:context丢失之前,我遇到了同样的问题。刚刚添加以下行

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
...."

然后重建项目。

之后效果很好。

答案 1 :(得分:11)

以下适用于我:

<强>的test.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"
  xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xmlns:mongo="http://www.springframework.org/schema/data/mongo"
  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
    http://www.springframework.org/schema/data/mongo
    http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">

    <context:annotation-config/>

</beans>

当我使用以下类来运行它时:

<强> Test.java

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    public static void main(String[] args) throws Exception {
        new ClassPathXmlApplicationContext("test.xml");
        System.out.println("Finished!");
    }

}

你能看看这适合你吗?您将需要类路径中的以下库:commons-logging,spring-asm,spring-beans,spring-context,spring-core和spring-expression。

如果有效,请告诉我。如果没有,请发布完整的堆栈跟踪。最后,我使用Spring 3.1.1进行上述操作。

答案 2 :(得分:7)

当您的spring xml文件中缺少xmlns:context时,会出现此错误。所以添加它。您的bean标题应如下所示 -

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

    <context:annotation-config />
    <context:component-scan base-package="controller" />

</beans>

答案 3 :(得分:0)

我遇到了同样的问题,但我能够通过移动来解决它

从applicationContext.xml到spring-servlet.xml并在spring-servlet.xml中添加xmlns:context