【转】The prefix "tx" for element "tx:advice" is not bound 错误的说明

转自: http://blog.csdn.net/gabriel80/article/details/2492608

The prefix "tx" for element "tx:advice" is not bound

这个错误的原因很简单是:

我们在定义申明AOP的时候。。没有加载schema。

具体表现如下:

<beans>

 <tx:advice id="txAdvice" transaction-manager="transactionManager">   
     <tx:attributes>   
         <tx:method name="get*" read-only="true"/>   
         <tx:method name="*" propagation="REQUIRES_NEW" rollback-for="Exception"/>   
     </tx:attributes>   
 </tx:advice>

 <!-- aop代理设置-->   
 <aop:config proxy-target-class="true">   
....

 </aop:config>

</beans>

这时会抛出异常不认<TX>标签。。起先还以为是没有加载JAR包呢。。

后来读AOP文档才发现<beans>中要加入“xmlns:aop”的命名申明,并在“xsi:schemaLocation”中指定aop配置的schema的地址

配置文件如下:

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

这些才是最关键的地方。。后面的配置不变。。。。

希望能帮助别人解决此类的小问题

 

原文地址:https://www.cnblogs.com/abinxm/p/2222823.html