Spring @EnableTransactionManagement
@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />
关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager.
如果你添加的是 spring-boot-starter-jdbc 依赖,框架会默认注入 DataSourceTransactionManager 实例。
如果你添加的是 spring-boot-starter-data-jpa 依赖,框架会默认注入 JpaTransactionManager 实例。
@Configuration /* 将MyBatisConfig类和JdbcConfig类交给Spring管理 */ @Import({MyBatisConfig.class,JdbcConfig.class}) /** *等同于<context:component-scan base-package="com.itheima.service"> */ @ComponentScan( "com.itheima.service") /*开启事务管理 等同于<tx:annotation-driven transaction-manager="transactionManager"/> */ @EnableTransactionManagement public class SpringConfig { /* 等同于<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> */ @Bean("transactionManager") public DataSourceTransactionManager getDataSourceTxManager(@Autowired DataSource dataSource){ DataSourceTransactionManager dtm = new DataSourceTransactionManager(); //等同于<property name="dataSource" ref="dataSource"/> dtm.setDataSource(dataSource); return dtm; } }
在使用Spring MVC的时候,配置文件中我们经常看到 annotation-driven 这样的注解,其含义就是支持注解,一般根据前缀 tx、mvc 等也能很直白的理解出来分别的作用。
<tx:annotation-driven/> 就是支持事务注解的(@Transactional) 、<mvc:annotation-driven> 就是支持 MVC 注解的,说白了就是使Controller中可以使用MVC的各种注解。
REF
https://www.cnblogs.com/zhuyeshen/p/10907632.html
分类:
[14] Java/JSP
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· MyBatis中的 10 个宝藏技巧!
2012-12-28 Retrieving COM for CLSID {00024500-0000-0000-C000-000000000046} 80040154.
2009-12-28 iDeneb can't see any drive to install
2009-12-28 Run Mac OS X on a PC
2009-12-28 Mac OS could not mount diskXX with name after erase
2008-12-28 CSS+DIV 完美实现垂直居中的方法
2007-12-28 2008毕业设计-毕业设计需要了解的信息