javax.inject.Inject bean 在 Spring 引导中无法识别
javax.inject.Inject beans not recognized in Spring boot
我有一个外部依赖项(添加为 pom.xml 中的依赖项),它在我的 spring 启动应用程序中使用 CDI (javax.inject.Inject)
进行依赖项注入。我正在尝试 Autowired
那些 CDI 管理的 bean 但没有成功。
我一直低于错误。
No qualifying bean of type '<Bean name>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
我尝试 ComponentScan
扫描 CDI 托管 bean,但也无济于事。
有人可以帮助 Spring 启动 CDI 管理的 beans
您需要创建一个 Spring 管理的 bean 实例。
在 Java 代码中你可以这样做(注意这适用于任何 class,即使它来自你无法控制的第 3 方库):
@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>
现在您可以使用 @Inject
或 Spring 的 @Autowired
注释注入 MyBean
。
我有一个外部依赖项(添加为 pom.xml 中的依赖项),它在我的 spring 启动应用程序中使用 CDI (javax.inject.Inject)
进行依赖项注入。我正在尝试 Autowired
那些 CDI 管理的 bean 但没有成功。
我一直低于错误。
No qualifying bean of type '<Bean name>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
我尝试 ComponentScan
扫描 CDI 托管 bean,但也无济于事。
有人可以帮助 Spring 启动 CDI 管理的 beans
您需要创建一个 Spring 管理的 bean 实例。
在 Java 代码中你可以这样做(注意这适用于任何 class,即使它来自你无法控制的第 3 方库):
@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>
现在您可以使用 @Inject
或 Spring 的 @Autowired
注释注入 MyBean
。