Java @controlleradvice给出错误:范围';会议';对于当前线程,未处于活动状态
我面临Spring mvc注释的问题@Controlleradvice。 我有两个控制器类:UserGapsController和RegistrationBaseController 两个类都使用Java @controlleradvice给出错误:范围';会议';对于当前线程,未处于活动状态,java,spring,spring-mvc,controller,controller-advice,Java,Spring,Spring Mvc,Controller,Controller Advice,我面临Spring mvc注释的问题@Controlleradvice。 我有两个控制器类:UserGapsController和RegistrationBaseController 两个类都使用 @控制器 @控制器建议 @自动连线会话对象 @作用域(WebApplicationContext.Scope\u会话) @当在方法级别使用@Modelattribute时,必须使用Controlleradvice注释。因此,我在两个类中都有一个用@modeldattribute注释的方法。 现在的问题
这个错误的原因是什么,我们不能有2个@Controlleradvice注释类吗?当我在RegistrationBaseController.java中注释@Controlleradvice时,它执行得很好。您试图拥有多个处理不同异常的
@Controlleradvice
类
你可以像这样使用控制器上的命令
@ControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class RegistrationExceptionHandler {
//...
}
及
如果您想要两个类,其中两个具有@controlleradvice,那么只需添加@Order(Ordered.HIGHEST_priority)注释即可。会的work@ArunPrasat对不起,如果我听起来很蠢,但我是春天的新手。所以我们不能有两个类有controlleradvice注释?如果是,背后的逻辑是什么?我的理解是controlleradvice用于在方法级别使用ModelAttribute的地方。我的理解有误吗?>@Controlleradvice注释必须在方法级别使用@Modelattribute时使用。事实并非如此,
@modeldattribute
在常规控制器中工作得非常好。只有当你想要一个适用于所有控制器的@modeldattribute
方法时,你才需要一个@ControllerAdvice
对不起,如果我听起来很愚蠢,但我对spring是新手。所以我们不能有两个类有controlleradvice注释?如果是,背后的逻辑是什么?我的理解是controlleradvice用于在方法级别使用ModelAttribute的地方。我的理解错了吗?
@ControllerAdvice
@Order(Ordered.LOWEST_PRECEDENCE) // or any int value
public class UserGapsExceptionHandler {
//...
}