Spring框架JdbcTemplate数据库事务管理完全注解方式是什么
导读:本文共2618字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Spring JdbcTemplate事务注解配置类方式配置在之前的操作中,相关的配置还是写在了 xml 配置文件中。现在,使用配置类的方式进行配置。<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframew... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。Spring JdbcTemplate事务注解
配置类方式配置
在之前的操作中,相关的配置还是写在了 xml 配置文件中。现在,使用配置类的方式进行配置。
<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><context:component-scanbase-package="com.pingguo.spring5"></context:component-scan><!--引入外部属性文件--><context:property-placeholderlocation="classpath:jdbc.properties"/><!--配置连接池--><beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"><propertyname="driverClassName"value="${prop.driverClass}"></property><propertyname="url"value="${prop.url}"></property><propertyname="username"value="${prop.username}"></property><propertyname="password"value="${prop.password}"></property></bean><beanid="jdbcTemplate"class="org.springframework.jdbc.core.JdbcTemplate"><!--注入datasource--><propertyname="dataSource"ref="dataSource"></property></bean><beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--注入数据源--><propertyname="dataSource"ref="dataSource"></property></bean><!--开启事务注释--><tx:annotation-driventransaction-manager="transactionManager"></tx:annotation-driven></beans>
完全注解方式
一、创建配置类
把 xml 里的配置在配置类里用注解方式实现。
packagecom.pingguo.spring5.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.context.annotation.Configuration;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.datasource.DataSourceTransactionManager;importorg.springframework.transaction.annotation.EnableTransactionManagement;importjavax.sql.DataSource;@Configuration//声明配置类@ComponentScan(basePackages="com.pingguo.spring5")//开启注解扫描@EnableTransactionManagement//开启事务publicclassTxConfig{//创建数据库连接池@BeanpublicDruidDataSourcegetDruidDataSource(){DruidDataSourcedruidDataSource=newDruidDataSource();druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");druidDataSource.setUrl("jdbc:mysql://223.31.222.111:3306/shop");druidDataSource.setUsername("root");druidDataSource.setPassword("123456");returndruidDataSource;}//创建JdbcTemplate对象@BeanpublicJdbcTemplategetJdbcTemplate(DataSourcedataSource){JdbcTemplatejdbcTemplate=newJdbcTemplate();//注入dataSourcejdbcTemplate.setDataSource(dataSource);returnjdbcTemplate;}//创建事务管理器的对象@BeanpublicDataSourceTransactionManagergetDataSourceTransactionManager(DataSourcedataSource){DataSourceTransactionManagertransactionManager=newDataSourceTransactionManager();transactionManager.setDataSource(dataSource);returntransactionManager;}}
二、测试注解方式的事务管理
修改下测试方法,使用 AnnotationConfigApplicationContext 来读取配置类。
publicclassTestTrans{@TestpublicvoidtestJdbc(){ApplicationContextcontext=newAnnotationConfigApplicationContext(TxConfig.class);UserServiceuserService=context.getBean("userService",UserService.class);userService.accountMoney();}}
执行一下:
八月08,20218:49:35上午com.alibaba.druid.pool.DruidDataSourceinfo信息:{dataSource-1}initedProcessfinishedwithexitcode0
查看数据表数据的修改情况。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
Spring框架JdbcTemplate数据库事务管理完全注解方式是什么的详细内容,希望对您有所帮助,信息来源于网络。