Spring注解开发10 --- 声明式事务注解

声明式事务注解主要有以下要点:

  •          1.向IOC容器注入数据源
  •          2.用@EnableTransactionManager在注解类上开启基于注解的事务管理功能
  •          3. 向IOC容器中注入平台的事务管理器PlatformTransactionManger的实现类
  •          4.在需要添加事务的方法上加上@Transactional注解,如果加在类上,表示当前类中的所有方法都是事务型的。
例子:

1.配置类:

@EnableTransactionManagement  //开启基于注解的事务管理功能
@ComponentScan("com.wusu.transaction")
@Configuration
public class MainConfig {
    @Bean   //引入数据源
    public DataSource dataSource() throws PropertyVetoException {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setUser("root");
        dataSource.setPassword("root");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        return dataSource;
    }
    @Bean   //基于平台的事务管理器,这个也需要注册bean,这个接口有很多实现类 //
    public PlatformTransactionManager platformTransactionManager() throws PropertyVetoException {
        //这里需要传入数据源,这里的dataSource()方法只是从IOC容器中获取,并不是像上面的那样new一个dataSource
        return  new DataSourceTransactionManager(dataSource());
    }
}

2. UserService

@Service
public class UserService {
    private UserDAO userDAO;
    @Transactional
    public void insert(){
        userDAO.insert();
        //...
        System.out.println("userService insert ...");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值