我面临 Spring mvc 注释@Controlleradvice的问题。我有 2 个控制器类:UserGapsController和RegistrationBaseController 两个类都使用
- @控制器
- @Controlleradvice
- @Autowired 会话对象
- @Scope(WebApplicationContext.SCOPE_SESSION)
在方法级别使用@Modelattribute时,必须使用@Controlleradvice 注释。所以我在两个类中都有一个用@Modelattribute 注释的方法。现在的问题是,当我在 UserGapsController.java 中使用 @Controlleradvice 时,应用程序运行良好,当我在 RegistrationBaseController.java 中也使用 @Controlleradvice 时,它在运行时出现以下错误:
创建名为“org.springframework.web.servlet.mvc.method.annotation.requestmappinghandler”的bean时出错:调用init方法失败:嵌套的异常是org.springframework.beans.factory.BeanCreationException:创建名为“userGapsController”的bean时出错:范围“会话”对当前线程无效
这个错误的原因是什么,我们不能有 2 个 @Controlleradvice 注释类吗?当我在 RegistrationBaseController.java 中评论 @Controlleradvice 时,它执行得很好。