我的猜测是,你已将服务bean放置在属于调度程序servlet的上下文中,在该上下文中仅应存在控制器bean,然后在根上下文中声明了事务bean。基于注释的事务自动代理仅在单个上下文中适用,因此在其他(错误)上下文中的服务bean不会受到影响。请参阅我对“为什么DispatcherServlet创建另一个应用程序上下文?”的回答。有关问题的更完整描述。根本问题是你不了解Spring MVC应用程序中上下文的组织方式。

我的猜测是,你已将服务bean放置在属于调度程序servlet的上下文中,在该上下文中仅应存在控制器bean,然后在根上下文中声明了事务bean。基于注释的事务自动代理仅在单个上下文中适用,因此在其他(错误)上下文中的服务bean不会受到影响。请参阅我对“为什么DispatcherServlet创建另一个应用程序上下文?”的回答。有关问题的更完整描述。根本问题是你不了解Spring MVC应用程序中上下文的组织方式。