Получение «Не удалось найти подходящий конструктор» из HK2 при использовании Джерси с Spring - PullRequest
2 голосов
/ 05 мая 2019

Я пытаюсь внедрить зависимости, используя Spring на моем сервере Tomcat / Jersey. У меня есть это:

@Component
public class TextEntryFacade { ... }

и это:

@Component
public class TextEntryController {

    @Autowired
    public class TextEntryController(final TextEntryFacade textEntryFacade) {
    ... 
    }

...
}

но я получаю это:

java.lang.NoSuchMethodException: Could not find a suitable constructor in com.tuiasi.petru.sop.service.controller.TextEntryController class.
    org.glassfish.jersey.internal.inject.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:192)
    org.jvnet.hk2.internal.Utilities.getConstructor(Utilities.java:179)
    org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:993)
...

Я действительно не понимаю, как HK2 и Spring взаимодействуют в этом контексте. Я ожидал, что Spring просто возьмет на себя внедрение зависимостей от HK2, но, похоже, я ошибаюсь. Помощь высоко ценится.

1 Ответ

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

Вы пробовали инъекцию на основе конструктора, как это?

@Component
public class TextEntryController {

    private final TextEntryFacade textEntryFacade

    public class TextEntryController(TextEntryFacade textEntryFacade) {
        this.textEntryFacade = textEntryFacade; 
    }

...
}
...