首页 > 其他分享 >20_Spring_零XML事务控制

20_Spring_零XML事务控制

时间:2023-07-30 12:56:17浏览次数:30  
标签:XML jdbc 20 Spring springframework dataSource context org import

20_Spring_零XML事务控制

创建配置类

  1. package com.msb.config;
  2. import com.alibaba.druid.pool.DruidDataSource;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.ComponentScan;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.context.annotation.PropertySource;
  8. import org.springframework.jdbc.core.JdbcTemplate;
  9. import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  10. import org.springframework.transaction.PlatformTransactionManager;
  11. import
    org.springframework.transaction.annotation.EnableTransactionManagement;
  12. import javax.sql.DataSource;
  13. /**
    • @Author: Ma HaiYang
    • @Description: MircoMessage:Mark_7001
  14. */
  15. @Configuration // 配置类标志注解
  16. @ComponentScan(basePackages = "com.msb") // spring包扫描
  17. @PropertySource("classpath:jdbc.properties") // 读取属性配置文件
  18. @EnableTransactionManagement // 开启事务注解
  19. public class SpringConfig {
  20. @Value("${jdbc_driver}")
    
  21. private String driver;
    
  22. @Value("${jdbc_url}")
    
  23. private String url;
    
  24. @Value("${jdbc_username}")
    
  25. private String username;
    
  26. @Value("${jdbc_password}")
    
  27. private String password;
    
  28. /*创建数据库连接池*/
    
  29. @Bean
    
  30. public DruidDataSource getDruidDataSource(){
    
  31.     DruidDataSource dataSource=new DruidDataSource();
    
  32.     dataSource.setDriverClassName(driver);
    
  33.     dataSource.setUrl(url);
    
  34.     dataSource.setUsername(username);
    
  35.     dataSource.setPassword(password);
    
  36.     return dataSource;
    
  37. }
    
  38. /*创建JdbcTemplate对象*/
    
  39. @Bean
    
  40. public JdbcTemplate getJdbcTemplate(DataSource dataSource){
    
  41.     JdbcTemplate jdbcTemplate=new JdbcTemplate();
    
  42.     jdbcTemplate.setDataSource(dataSource);
    
  43.     return jdbcTemplate;
    
  44. }
    
  45. /*创建事务管理器*/
    
  46. @Bean
    
  47. public PlatformTransactionManager
    
    getPlatformTransactionManager(DataSource dataSource){
  48.     DataSourceTransactionManager transactionManager =new
    
    DataSourceTransactionManager();
  49.     transactionManager.setDataSource(dataSource);
    
  50.     return transactionManager;
    
  51. }
    
  52. }

测试代码

  1. @Test()
  2.  public void testTransaction3(){
    
  3.      ApplicationContext context =new
    
    AnnotationConfigApplicationContext(SpringConfig.class);
  4.      AccountService accountService =
    
    context.getBean(AccountService.class);
  5.      int rows = accountService.transMoney(1, 2, 100);
    
  6.      System.out.println(rows);
    
  7.  } 
    

标签:XML,jdbc,20,Spring,springframework,dataSource,context,org,import
From: https://www.cnblogs.com/01way/p/17591293.html

相关文章

  • 21_Spring_日志框架和测试支持
    21_Spring_日志框架和测试支持spring5框架自带了通用的日志封装,也可以整合自己的日志1)spring移除了LOG4jConfigListener,官方建议使用log4j22)spring5整合log4j2导入log4j2依赖<!--log4j2依赖--><!--<dependency><groupId>org.apache.logg......
  • springboot logback 配置文件 自定义logback配置文件
    logging:level:#配置全部的调试级别#root:trace#配置具体包路径下的调试级别com.example.springboot03:tracepattern:#默认控制台输出格式console:'%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-ddHH:mm:ss.SSSXXX}}){faint}%clr(${LOG_......
  • 3_Spring_IOC原理分析_重要
    3_Spring_IOC原理分析_重要IOC底层原理1XML解析技术读取配置文件将上面的信息读取进入程序 对象的ID,一个是对象的类的全路径名2反射技术实例化对象,放到容器中获得类的字节码Classclazz=Class.forName("com.msb.dao.impl.EmpDaoImpl")通过字节码实例化对象Ob......
  • 2_Spring_IOC概念引入_重要
    2_Spring_IOC概念引入_重要简单的说就是,创建对象的权利,或者是控制的位置,由JAVA代码转移到spring容器,由spring的容器控制对象的创建,就是控制反转,spring创建对象时,会读取配置文件中的信息,然后使用反射给我们创建好对象之后在容器中存储起来,当我们需要某个对象时,通过id......
  • 6_Spring_Bean的自动装配
    6_Spring_Bean的自动装配bean自动装配通过property标签可以手动指定给属性进行注入我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置准备实体类packagecom.msb.bean;/**@Author:MaHaiYang@Description:MircoMessage:Mark_7001......
  • 5_Spring_Bean的生命周期
    5_Spring_Bean的生命周期bean从创建到销毁经历的各个阶段以及每个阶段所调用的方法1通过构造器创建bean实例     执行构造器2为bean属性赋值            执行set方法3初始化bean                调......
  • 4_Spring_XML方式实现DI
    4_Spring_XML方式实现DIspring中的Bean的管理:Bean(汉译咖啡豆).又称JAVABean.其实就是JAVA程序程序中的一个个对象,所以Bean的管理其实就是spring对于JAVA程序中的对象的管理管理的内容是什么1对象的创建 IOCIOC 叫做控制反转,就是Spring给我们创建对象,然后我们直......
  • 9_Spring_JDK动态代理
    9_Spring_JDK动态代理代理模式是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。房产中介代替业主卖房静态代理静态代理中代理类与被代理类都需要实现同一个接口,这就说明我们的一个静态代理类只能代理一个类,并且还要事先......
  • 8_Spring_注解方式管理bean
    8_Spring_注解方式管理bean1注解方式创建对象IOC导入依赖aop@Component  放在类上,用于标记,告诉spring当前类需要由容器实例化bean并放入容器中该注解有三个子注解@Controller 用于实例化controller层bean@Service    用于实例化service层bean@Repositor......
  • 7_Spring_使用外部属性配置文件
    7_Spring_使用外部属性配置文件spring容器可以读取.properties属性配置文件,可以将文件中的信息注入给bean例如,引入Druid数据源,配置连接池信息1 导入Druid依赖和mysql-connector依赖<dependency><groupId>com.alibaba</groupId><artifa......