如何使 springboot Controller 出现异常 回滚service 执行的方法呢

@RestController
@requestmapping("/person")
public class PersonController {
@resource
private PersonService personService;

@PostMapping("/add")
public Result add(Person person) {
personService.save(person);
System.out.println(1/0);
return ResultGenerator.genSuccessResult();
}
}

public interface PersonService extends Service {

}

@service
@transactional
public class PersonServiceImpl extends AbstractService implements PersonService {

}
//已配置统一异常处理
已邀请:

itmuch.com - 《Spring Cloud与Docker微服务架构实战》作者

赞同来自:

controller发生异常一般不回滚的。Controller一般只用于控制流程、转向。
@Transactional注解一般加在你的service类上。

xiaobaxi - Fang Oba

赞同来自:

controller不做业务逻辑处理,一般都是在service层做,事务控制也都是在service层做控制,通常还有很多的方式会加一层manager层,主要的作用是组合多个细粒度的service,这里也是可以做事务控制的
 
BTW:一般我不叫manager,还是喜欢叫service,只不过是多个service的聚合

要回复问题请先登录注册