Prefix “context" for element “context:component-scan" or “context:annotation-config" is not bound : Spring error

时间:2020-02-23 14:35:30  来源:igfitidea点击:

当我们在Spring或者Spring MVC应用程序上工作时,我们可能会遇到以下错误消息。

Prefix “context" for element “context:component-scan"  or “context:annotation-config" is not bound : Spring error
org.xml.sax.saxparseexception:元素"上下文:component-scan"的前缀"上下文"不受限制。
或者org.xml.sax.saxparseexception:元素"上下文:annotation-config"的前缀"上下文"不受限制。

当我们不包含上下文命名空间时,通常会发生此问题。

例如:让我们说你有以下XML配置文件。

<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"
    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" >
 
    <context:annotation-config 
    <context:component-scan base-package="controller" 
 
</beans>

其中我们可能会得到高于例外,因为我们缺少上下文命名空间XMLNS:此处的上下文。
当我们在上方XML中添加以下行时。

xmlns:context="http://www.springframework.org/schema/context"

因此,最终XML文件将如下所示:

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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" >
 
    <context:annotation-config 
    <context:component-scan base-package="controller" 
 
</beans>