源头说明
- 注解一般都是需要切面类来根据注解加上adviser的,我们的transaction也不例外。
- 正常我们的事务启用是需要加上EnableTransactionManagement,这个注解的作用是初始化切面的。
- 但是我们在spring boot项目中是没加上对应注解的,这是因为,spring boot有 自动化配置类列表,里面有一个TransactionAutoConfiguration
配置类在这个配置类里加有 @EnableTransactionManagement(proxyTargetClass = true)这种注解,同理,我们可以想到 @Async @EnableAsync. 自动配置类 TaskExecutionAutoConfiguration
初始化类的流程图