1. 使用@Transactional 可以进行声明式事务控制\n2.
即将标识的方法中的,对数据库的操作作为一个事务管理\n
3.@Transactional 底层使用的仍然是AOP机制\n
4. 底层是使用动态代理对象来调用buyGoodsByTx\n
5. 在执行buyGoodsByTx() 方法 先调用 事务管理器的 doBegin() , 调用 buyGoodsByTx()\n如果执行没有发生异常,则调用 事务管理器的 doCommit(), 如果发生异常 调用事务管理器的 doRollback()