首先,与声明式事务相对应的是编程式事务,人为用手动去实现实现的开启与回滚等操作,这些逻辑耦合在代码中。
public class UserService { @Autowire PlatformTransactionManager txManager; public User register(User user) { tyr { tx = txManager.getTransaction(); // 业务代码 txManager.commit(tx); } catch (RuntimeException e) { txManager.rollback(tx); throw e; } } }
仅仅使用注解去解决事务,代码中不体现,十分的简洁,当然也隐藏事务的传播属性诸多细节。
@Component public class UserService { @Transaction public User register(User user) { //业务代码 } }
在作业中是位于AppConfig.java中的,人为手工注册的Bean。
@Bean PlatformTransactionManager createTxManager(@Autowired DataSource dataSource) { return new DataSourceTransactionManager(dataSource); }
Sign in to make a reply
雪莉胡远超1982
编程式事务
首先,与声明式事务相对应的是编程式事务,人为用手动去实现实现的开启与回滚等操作,这些逻辑耦合在代码中。
声明式事务
仅仅使用注解去解决事务,代码中不体现,十分的简洁,当然也隐藏事务的传播属性诸多细节。
全局PlatformTransactionManager来源
在作业中是位于AppConfig.java中的,人为手工注册的Bean。