一、背景
- 方法添加了@Transactional注解,为什么事务不生效
二、步骤
CREATE TABLE `test_aop` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
@Component
@Slf4j
public class AopDataService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private AopDataService aopDataService;
// 写入数据
@Transactional
public void insert(String value) {
jdbcTemplate.update("insert into test_aop(name) values('" + value + "')");
}
// 写入数据后抛异常
@Transactional
public void insertAndRollback(String value) {
log.info("insertAndRollback {}", value);
jdbcTemplate.update("insert into test_aop(name) values('" + value