SSH和合心得02 (Spring控制事务)
这几天被事务困住了许久,按很多前辈说的方法配置都未成功,通过大量的搜索才找到原因。
Spring 使用AOP事务时容易出错的点(使用这种方式的事务需要导入aspectjrt.jar,aspectjweaver.jar 两个包Spring/lib/aspectj)
<aop:config> <aop:pointcut id="deleteOperation" expression="execution(* jk.dao.*.*(..))" /> <aop:advisor advice-ref="deleteTx" [b]pointcut-ref[/b]="deleteOperation"/></aop:config>
DROP TABLE IF EXISTS `ssh`.`sshuserinfo`;CREATE TABLE `ssh`.`sshuserinfo` ( `userid` bigint(20) NOT NULL, `username` varchar(10) default NULL, `age` int(11) default NULL, `BIRTHDAY` date default NULL, PRIMARY KEY (`userid`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
<bean id="proxybase" abstract="true"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <prop key="deleteArray">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="modify*">PROPAGATION_REQUIRED</prop> </props> </property> </bean>
<bean id="userInfoDAOProxy" parent="proxybase"> <property name="target" ref="userInfoDAO"/> </bean>