今天测试了下插入性能发现用注解配置的事物不回滚,仔细找了找原因。
首先确认了下配置是对的。
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 使用annotation定义事务 --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
然后检查注解
@Service @Transactional(propagation=Propagation.REQUIRED) public interface LogService extends BaseService<Log>{ Log dataToLog(Data data); Log selectLostContact(Date date); void insert(Iterable<Log> logs); void addBatch(List<Log> item); }
发现都没啥问题。然后把propagation改成了只读,发现还能提交。说明事物根本没配置成功。然后把注解放到实现类上试了下。发现可以了,事物正常了,回滚也正常了。md….原来接口上的注解不继承。。。
spring版本4.0.1