SpringBoot 配置事务

SpringBoot 在启动时已经加载了事务管理器,所以只需要在需要添加事务的方法/类上添加@Transactional即可生效,无需额外配置。
TransactionAutoConfiguration 事务的自动配置类解析
SpringBoot 启动时加载/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports或者spring.factories文件中定义的所有自动配置类。其中包含了org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration事务自动配置类。
在这里插入图片描述
配置类中使用注解@ConditionalOnClass验证了PlatformTransactionManager.class接口的实例是否存在。接口的实现类如下:
在这里插入图片描述
接口的实现类中包含了DataSourceTransactionManager类,这个类在 SpringBoot 启动时通过org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration 配置类进行了导入,如下图。所以容器中就包含了PlatformTransactionManager.class类型的实例,所以TransactionAutoConfiguration 配置类正常加载。
在这里插入图片描述
TransactionAutoConfiguration 配置类中编写了一个内部类public static class EnableTransactionManagementConfiguration,其中包含了@EnableTransactionManagement注解,所以这也就是为什么启动类中不添加@EnableTransactionManagement注解事务也能生效的原因。

相关推荐

  1. [笔记]事务简介-springboot

    2024-06-11 19:18:04       31 阅读
  2. SpringBoot事务传播机制

    2024-06-11 19:18:04       27 阅读
  3. SpringBoot事务

    2024-06-11 19:18:04       22 阅读
  4. Springboot事务管理

    2024-06-11 19:18:04       14 阅读
  5. SpringBoot自定义全局事务

    2024-06-11 19:18:04       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 19:18:04       8 阅读
  2. 【Python教程】压缩PDF文件大小

    2024-06-11 19:18:04       9 阅读
  3. 通过文章id递归查询所有评论(xml)

    2024-06-11 19:18:04       10 阅读

热门阅读

  1. Unity 数据存储

    2024-06-11 19:18:04       4 阅读
  2. Data Management Controls

    2024-06-11 19:18:04       7 阅读
  3. 【AI应用探讨】— Gemini模型应用场景

    2024-06-11 19:18:04       4 阅读
  4. 设计模式---工厂模式

    2024-06-11 19:18:04       6 阅读
  5. C++经典150题

    2024-06-11 19:18:04       7 阅读
  6. k8s 小技巧: 查看 Pod 上运行的容器

    2024-06-11 19:18:04       4 阅读
  7. Elasticsearch 认证模拟题 - 9

    2024-06-11 19:18:04       3 阅读
  8. 深度解读 ChatGPT基本原理

    2024-06-11 19:18:04       4 阅读
  9. 接口interface

    2024-06-11 19:18:04       5 阅读
  10. 使用redis构建简单的社交网站

    2024-06-11 19:18:04       5 阅读