为了账号安全,请及时绑定邮箱和手机立即绑定

Spring-boot:@Bean 未解决

Spring-boot:@Bean 未解决

吃鸡游戏 2021-08-04 09:50:00
我收到此错误消息:'org.springframework.context.MessageSource' 类型的参数 0 没有合适的解析器这是相关代码:@RestControllerAdvice@Order(Ordered.HIGHEST_PRECEDENCE)public class ExceptionControllerAdvice {    @ExceptionHandler({DocumentAlreadyExistsException.class})    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)    public cat.gencat.ctti.canigo.arch.web.rs.model.Error handleException(MessageSource messageSource, DocumentAlreadyExistsException e) {        cat.gencat.ctti.canigo.arch.web.rs.model.Error error = new cat.gencat.ctti.canigo.arch.web.rs.model.Error();        error.setCode(HttpStatus.BAD_REQUEST.value());        error.setMessage(messageSource.getMessage(e.getLocalizedMessage(), null, null));        return error;    }}另一方面,我创建了这个 bean:@Configurationpublic class WebServicesConfiguration {    @Bean    public MessageSource messageSource() {        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();        messageSource.setBasenames("messages/exceptions/document");        messageSource.setDefaultEncoding("UTF-8");        return messageSource;    }}有任何想法吗?
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

我会使用 bean,而不是在方法签名上,而是在类(构造函数或 setter 方法)上注入:


@RestControllerAdvice

@Order(Ordered.HIGHEST_PRECEDENCE)

public class ExceptionControllerAdvice {


    private MessageSource messageSource;


    public ExceptionControllerAdvice(MessageSource messageSource) {

        this.messageSource = messageSource;

    }


    @ExceptionHandler({DocumentAlreadyExistsException.class})

    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)

    public cat.gencat.ctti.canigo.arch.web.rs.model.Error handleException( DocumentAlreadyExistsException e) {


        cat.gencat.ctti.canigo.arch.web.rs.model.Error error = new cat.gencat.ctti.canigo.arch.web.rs.model.Error();

        error.setCode(HttpStatus.BAD_REQUEST.value());

        error.setMessage(messageSource.getMessage(e.getLocalizedMessage(), null, null));

        return error;

    }

}


查看完整回答
反对 回复 2021-08-04
  • 1 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信