Element type "tx:advice" must be declared.
hibernate+spring的事务管理问题
运行程序时报出异常→
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 52 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is
org.xml.sax.SAXParseException: Element type "tx:advice" must be declared.
我的applicationContext.xml 配置文件如下(报错的52行就是下面的第一行):
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="allManagerMethod" expression="execution(* dao.impl.*.*(..))" />
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" />
</aop:config>
请高手帮我看下是什么地方出了问题呀~~
------解决方案--------------------transactionManager这个bean设置了吗?
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
------解决方案--------------------你把你的beans 里面的所有命名空间发来看看 你是不是没有tx对应的命名空间啊
------解决方案--------------------你可以局部的排除错误,先把<tx:advice/>里的代码去掉,一点点的去查找原因
------解决方案--------------------配置下
<!-- aop代理设置-->
<aop:config
proxy-target-class="true">
</aop:config>
我也是猜的。你可以试下