問題は、トランザクションがロールバックされる前に接続が自動コミットされていたことであることが判明しました。 defaultAutoCommitプロパティを含めるようにdataSourceBeanを変更する必要がありました:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="Ecosim07"/>
<property name="defaultAutoCommit" value="false" />
</bean>