在我的Spring Boot应用程序中,spring @Transactional注释无需显式指定@EnableTransactionManagement即可工作。
是否有任何官方文档说它是自动启用的?
还是发生了其他事情...?
顺便说一句:我正在使用Spring Data JPA
是的,只要您拥有spring-tx
应用程序中的某些事务资源,就可以启用此功能。实际上,如果您使用spring-boot-starter-jdbc
或spring-boot-starter-data-jpa
,Spring Boot将为DataSource
您配置a ,启动Hibernate(在后一种情况下)并配置事务管理。
并非所有的Enable
注释都需要明确设置。当我们可以检查并验证合理数量的事情时,为您配置这些事情就有意义了,我们会做。在这种情况下,如果您有一个,则DataSource
可能必须要进行交易。如果您拥有JPA(但没有JTA基础结构),则可能需要JpaTransactionManager
)。如果我们自动配置它,最简单的使用方法是通过,@Transactional
因此在这种情况下我们也将启用它。
我想您一直在要求获得某种“官方”答案,所以这是一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句