Должен ли Micronaut выдавать предупреждения / ошибки компилятора для ошибок внедрения зависимостей? - PullRequest
0 голосов
/ 14 мая 2019

Я только начинаю работать с Micronaut, и одна вещь, которую я с удивлением обнаружил, заключается в том, что, несмотря на процессоры аннотаций, не появляется никаких предупреждений, указывающих, когда возникает проблема внедрения зависимости. Например, когда у меня есть @Inject для интерфейса с 2 конкретными реализациями. Я ожидал, что моя среда IDE выдаст предупреждение компилятора об аннотации впрыска, сообщающее, что существует 2 возможных привязки, и мне потребуется предоставить аннотацию @Named для устранения неоднозначности.

Является ли мое ожидание неверным, а проблемы с привязкой все еще выявляются только во время выполнения, или я неправильно сконфигурировал свою среду IDE для правильного информирования меня об этих ошибках DI с помощью Micronaut?

Java version: 8
IDE: IntelliJ IDEA Ultimate
Micronaut Version: 1.1.1
Build Tool: maven

1 Ответ

0 голосов
/ 15 мая 2019

Поскольку 2 доступны во время компиляции, это не означает, что 2 будет доступно во время выполнения.

Люди задали тот же вопрос, задаваясь вопросом, почему во время компиляции мы не можем сообщить, чтобин не существует, и ответ таков: если он не существует во время компиляции, это не означает, что он не будет существовать во время выполнения.Вы не знаете во время компиляции, что будет на пути к классам во время выполнения, bean-компоненты могут быть настроены для условной загрузки в зависимости от условий выполнения и т. Д.

EDIT

Я понимаю, что я не ответил на ваши вопросы в явном виде ...

Неправильно ли мое ожидание и проблемы с привязкой все еще выявляются только во время выполнения, или я неправильно настроил свою среду IDE для правильного информирования меня?из этих ошибок DI при использовании Micronaut?

Ответ на первую часть - да, ваше ожидание было неверным.Ответ на второй вопрос заключается в том, что ваша конфигурация IDE не имеет отношения к рассматриваемому поведению.

Надеюсь, это поможет.

...