事務的作用這里不細說,相信很多人也在工作中使用過。
那么在spring-boot是如何配置事務的,事實上非常簡便。
直接貼代碼吧。
首先配置數據源 myqlDataSource,這個就不說了。之前的博客有。
接着開啟事務。
@EnableTransactionManagement
@Configuration
public class TransactionManagementConfig {
@Bean
public PlatformTransactionManager mysqlTransactionManager(@Qualifier("myqlDataSource") DataSource myqlDataSource)
{
return new DataSourceTransactionManager(myqlDataSource);
}
}
@EnableTransactionManagement的作用自然就是開啟事務。等同於xml配置文件中的 <tx:annotation-driven />
使用的時候直接引用即可。如果在整個類注解 mysqlTransactionManager,則整個類的所有方法都默認支持事務。
@Service public class UserServiceImpl implements UserService { @Autowired @Qualifier("myqlJdbcTemplate") private JdbcTemplate mysqlTemplate; @Transactional(value="mysqlTransactionManager") @Override public String register(String userName, String userAccount, String userPwd) { String sql = "insert into user (userName,userAccount,userPwd) values (''{0}'',''{1}'',''{2}'')"; sql = MessageFormat.format(sql,userName,userAccount, userPwd); mysqlTemplate.execute(sql); return "success"; } }
