解密:通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config‘ 的声明

Posted IT人.阿标

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解密:通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config‘ 的声明相关的知识,希望对你有一定的参考价值。

解密:通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config’ 的声明

不知道大家在开发或者刚开始学习Spring的时候是否遇到过类似这种异常:

  • 找不到元素 ‘beans’ 的声明。
  • 通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config’ 的声明
  • 通配符的匹配很全面, 但无法找到元素 ‘aop:config’ 的声明

提示这种错误的原因其实很简单,一般原因是我们在Spring的XML Schema的配置文件错误导致,在我们添加一个标签比如:例如 AOP,集合,事务,与第三方框架(例如 Mule)的集成等时候,都要添加两部分:

  • 一部分是namespace,eg:

    xmlns:context="http://www.springframework.org/schema/context"
    
  • 一部分是schemaLocation,eg:

    xsi:schemaLocation="
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
    

有时候,我们经常加了namespace但是忘记加schemaLocation,Spring就会报上面的找不到某个声明的错误了。 既我们在添XML Schema的时候,既要添加namespace也要添加对应的schemaLocation,避免产生以上的错误。

下面介绍几种常用的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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here -->

</beans>

AOP模式:

<?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:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- bean definitions here -->

</beans>

tx(Transaction)模式

<?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:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- bean definitions here -->

</beans>

jms模式

<?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:jms="http://www.springframework.org/schema/jms" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd"> <!-- bean definitions here -->

</beans>

lang模式

<?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:lang="http://www.springframework.org/schema/lang" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd"> <!-- bean definitions here -->

</beans>

jee模式

<?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:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd"> <!-- bean definitions here -->

</beans>

util模式

<?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:util="http://www.springframework.org/schema/util" xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <!-- bean definitions here -->

</beans>

以上是关于解密:通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config‘ 的声明的主要内容,如果未能解决你的问题,请参考以下文章

解密:通配符的匹配很全面, 但无法找到元素 ‘context:annotation-config‘ 的声明

通配符的匹配很全面, 但无法找到元素 'util:properties' 的声明

通配符的匹配很全面, 但无法找到元素 'xxxxxxxx'

通配符的匹配很全面, 但无法找到元素 XXXXX' 的声明

通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明

通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明