spring事务管理(宣言式 xmlschmea)

spring事务管理(声明式 xmlschmea)
配置文件如下:引入了tx的命名空间。
<?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-2.5.xsd 
		http://www.springframework.org/schema/aop
		http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
	<!--
		<bean id="ds"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	-->
	<bean id="ds" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="url">
			<value>jdbc:mysql://localhost/test</value>
		</property>
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>pass</value>
		</property>
	</bean>
	<bean id="userdao" class="cn.com.gan.spring.database.UserDao">
		<property name="dataSource">
			<ref local="ds" />
		</property>
	</bean>
	<bean id="tranmanager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="ds"></property>
	</bean>
	<tx:advice id="txadvice" transaction-manager="tranmanager">
		<tx:attributes>
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="find" read-only="true" />
		</tx:attributes>
	</tx:advice>
	<aop:config>
		<aop:pointcut id="txpointcut"
			expression="execution(public * cn.com.gan.spring.database.IUserDao.*(..))" />
		<aop:advisor pointcut-ref="txpointcut" advice-ref="txadvice" />
	</aop:config>
	<!--
		<bean id="interceptor"
		class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="tranmanager"></property>
		<property name="transactionAttributeSource"
		value="cn.com.gan.spring.database.IUserDao.insert=PROPAGATION_REQUIRED">
		</property> </bean> <bean id="userdaoproxy"
		class="org.springframework.aop.framework.ProxyFactoryBean"> <property
		name="proxyInterfaces">
		<value>cn.com.gan.spring.database.IUserDao</value> </property>
		<property name="target" ref="userdao"></property> <property
		name="transactionAttributes"> <props> <prop
		key="insert">PROPAGATION_REQUIRED</prop> </props> </property>
		<property name="interceptorNames"> <list> <value>interceptor</value>
		</list> </property> </bean>
	-->
</beans>