使用spring @Transactional的Spring Boot可以在不启用事务管理的情况下工作

海克·詹吉良(Hayk Jhangiryan)

在我的Spring Boot应用程序中,spring @Transactional注释无需显式指定@EnableTransactionManagement即可工作。

是否有任何官方文档说它是自动启用的?

还是发生了其他事情...?

顺便说一句:我正在使用Spring Data JPA

斯蒂芬·尼科尔(Stephane Nicoll)

是的,只要您拥有spring-tx应用程序中的某些事务资源,就可以启用此功能实际上,如果您使用spring-boot-starter-jdbcspring-boot-starter-data-jpa,Spring Boot将为DataSource配置a ,启动Hibernate(在后一种情况下)并配置事务管理。

并非所有的Enable注释都需要明确设置。当我们可以检查并验证合理数量的事情时,为您配置这些事情就有意义了,我们会做。在这种情况下,如果您有一个,则DataSource可能必须要进行交易。如果您拥有JPA(但没有JTA基础结构),则可能需要JpaTransactionManager)。如果我们自动配置它,最简单的使用方法是通过,@Transactional因此在这种情况下我们也将启用它。

我想您一直在要求获得某种“官方”答案,所以这是一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章