阶段3 2.Spring_10.Spring中事务控制_8 spring基于纯注解的声明式事务控制

新建项目


把之前项目src下的内容全部复制过来



pom.xml内复制过来

开始配置

新建一个config的包,然后再新建配置文件类SpringConfiguration

@Configuration这个注解是可写可不写的。

这个类会做为字节码的参数传给ApplicationContext

@ComponentScan配置要扫描的包

@Import

但是这个Import要导谁呢?


新建JdbcConfig类



这一就可以通过Import导入JdbcConfig这个类

xml里面扫描包的配置可以省略掉了。可以删除

jdbcConfig

下面这两块的内容,我们就可以配置到JdbcConfig这个类里面了

创建一个createJdbcTempalte里面需要一个dataSource类型的参数

DataSource需要导包,这个包可能需要自己手动导入



现在缺少的就是DataSource。
同时让他进容器也需要加上@Bean的注解

这四个变量我们可以在上面定义

都使用@Value注解,里面使用Spring的EL表达式

创建配置文件jdbcConfigProperties



@PropertySource注解




bean.xml内这里就可以删除了

开启注解事物的支持


这样这段就可以删除了。

事物配置


定义创建TransactionManager的方法,传入一个dataSource数据源

让它进Spring容器就加上@Bean的注解

bean.xml内的这两行代码就可以删除掉。

删除整个bean.xml

SpringConfiguration内再导入TransactionConfig

修改测试类

修改前的配置

修改为注解的方式

数据库默认的初始值

默认异常存在

运行我们的测试类


事务被控制住了


把异常去掉

可以正常转账成功

以上就是基于纯注解的配置

开启spring注解事务的支持


这样基于声明事务就告一段落了。


 

原文地址:https://www.cnblogs.com/wangjunwei/p/11372232.html