创建配置类
package com.msb.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.sql.DataSource; /** * @Author: Ma HaiYang * @Description: MircoMessage:Mark_7001 */ @Configuration // 配置类标志注解 @ComponentScan(basePackages = "com.msb") // spring包扫描 @PropertySource("classpath:jdbc.properties") // 读取属性配置文件 @EnableTransactionManagement // 开启事务注解 public class SpringConfig { @Value("${jdbc_driver}") private String driver; @Value("${jdbc_url}") private String url; @Value("${jdbc_username}") private String username; @Value("${jdbc_password}") private String password; /*创建数据库连接池*/ @Bean public DruidDataSource getDruidDataSource(){ DruidDataSource dataSource=new DruidDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } /*创建JdbcTemplate对象*/ @Bean public JdbcTemplate getJdbcTemplate(DataSource dataSource){ JdbcTemplate jdbcTemplate=new JdbcTemplate(); jdbcTemplate.setDataSource(dataSource); return jdbcTemplate; } /*创建事务管理器*/ @Bean public PlatformTransactionManager getPlatformTransactionManager(DataSource dataSource){ DataSourceTransactionManager transactionManager =new DataSourceTransactionManager(); transactionManager.setDataSource(dataSource); return transactionManager; } }
测试代码
@Test() public void testTransaction3(){ ApplicationContext context =new AnnotationConfigApplicationContext(SpringConfig.class); AccountService accountService = context.getBean(AccountService.class); int rows = accountService.transMoney(1, 2, 100); System.out.println(rows); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了