@transaction注解不起作用的原因

时间:2022-12-05 19:16:25

@Transactional 的使用要求:

  • @Transactional 注解只能应用到 public访问权限的方法上 。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错, 但是这个被注解的方法将不起事务作用。
  • @Transactional 注解可以被应用于接口和接口方法、类和类的 public 方法上 。
  • @Transactional 注解的使用,必须在配置文件中配置事务相关信息。
  • 因为spring事务是基于类和接口的,所以只能在类里面调用另一个类里面的事务,同一个类里面调用自己类的事务方法是无效的。
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSourceForSqlServer" />
</bean>