事务分为声明式和编程式
发生运行时异常如果想要回滚需满足两个条件
1、在xml配置使用SpringAop配置事务 如果是注解开启事务需要在配置文件中开启事务并在service类添加@Transaction
2、事务要有异常,才会回滚,如果运行期异常被try catch了,但是异常捕获后没有继续抛出RuntimeException运行期异常,事务无法获取异常信息,也不会回滚。