javax.inject.Inject bean не распознается при загрузке Spring - PullRequest
0 голосов
/ 02 июля 2019

У меня есть внешняя зависимость (добавленная как зависимость в pom.xml), которая использует внедрение зависимостей с использованием CDI (javax.inject.Inject) в моем приложении для весенней загрузки. Я пытаюсь Autowired один из этих управляемых бобов CDI, но безуспешно.

Я продолжаю получать ошибку ниже.

No qualifying bean of type '<Bean name>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

Я пытался ComponentScan сканировать управляемый компонент CDI, но это тоже не помогает.

Может ли кто-нибудь помочь с тем, как Spring Spring узнает об управляемых компонентах CDI

1 Ответ

1 голос
/ 02 июля 2019

Вам необходимо создать экземпляр вашего компонента, которым управляет Spring.

В Java-коде вы можете сделать это (обратите внимание, что это работает для любого класса, даже если он из сторонней библиотеки, которой вы не управляете):

@Configuration
public class Config {
    @Bean
    public MyBean myBean() {
        // Return a new instance of your class here
        return new MyBean();
    }
}

Или в XML:

<beans>
    <bean id="myBean" class="abc.def.MyBean"/>
</beans>

Теперь вы можете ввести MyBean, используя либо @Inject, либо аннотацию Spring * @Autowired.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...