2、将action中的逻辑全部搬至service层,但这样就相当于action层被架空了,只是负责了从前端接收和转发数据。 第一、标准的mvc controller层就是用来实现页面的跳转和数据的传递,业务逻辑都扔给service去处理,而且controller层的代码尽可能的保持"干净简洁",试想如果将来别人调用你的service层接口,它的逻辑被分散在了action,那么你的代码可维护性就很差了。第二、如果你的service层不进行事物的控制,那么你的事物隔离级别如何控制?另外spring已经提供了事物传播行为的控制