graph TB A[源码入口spring.factories] --> SeataAutoConfiguration --> GT{GlobalTransactionScanner} GT --> D["实现InitializingBean接口实现afterPropertiesSet()"] --> F{"initClient()"} F --> IT(init TM) F --> IR(init RM) GT --> H["继承AbstractAutoProxyCreator重写wrapIfNecessary()"] --> I["GlobalTransactionalInterceptor.invoke()"] U((用户)) --> I --> IH["GlobalTransactionalInterceptor.handleGlobalTransaction(methodInvocation, transactional)构建事务信息"] IH --> TE["transactionalTemplate.execute()"] --> BT["beginTransaction(txInfo, tx)开启事务"] BT --> BE["business.execute()执行业务"] --> CT["commitTransaction(tx)提交事务"] BE --> CR["rollbackTransaction(tx, originalException)回滚事务"] A --> SeataDataSourceAutoConfiguration --> SeataAutoDataSourceProxyCreator