springweb:controlleradvice

bqjvbblv  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(223)

我有一个简单的类来捕获一些异常,比如:

@ControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(RuntimeException.class)
    public ResponseEntity<Object> handleRuntimeException(Exception ex) {
        log.debug("[RuntimeException throw]");
        return new ResponseEntity<>(responseMessage, HttpStatus.OK);
    }
}

然后我可以抛出新的runtimeexception,并可以在控制台中看到输出日志。
做得很好,但我必须将restresponseentityexceptionhandler.class作为lib移动到另一个项目中,并像pom.xml中的maven依赖一样添加它。
在主项目中还添加了controlleradvice,其中包括:

@ControllerAdvice
public class ResponseEntityExceptionHandler extends RestResponseEntityExceptionHandler { }

之后就不起作用了。我还有一个例外:
org.springframework.context.nosuchmessageexception:在区域设置“ru\u ru”的代码“description”下找不到消息。
当restresponseentityexceptionhandler在主项目中时,我有了下一个bean定义:

@Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource
                = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }

在“资源”文件夹中,我有一个messager\u ru.properties文件。我也移动了messagesourcebean配置和属性文件。
也许关键是我将所有这些移到的项目是一个库(没有主函数)?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题