Cun*_*eyt 5 dependency-injection conditional-statements spring-boot
有这个 @Configuration 类,需要一个实现 JmsProperties 的 bean,该 bean 在 @ConditionalOnBean 中声明
@Configuration
@ConditionalOnBean(JmsProperties.class)
public class JmsConfiguration {
@Inject
private JmsProperties properties;
...
}
Run Code Online (Sandbox Code Playgroud)
获取异常:
Caused by:
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [com.....JmsProperties] found for dependency:
Run Code Online (Sandbox Code Playgroud)
@ConditionalOnBean 不是应该检测到这个缺失的 bean 并且不首先尝试注入依赖项吗?
预先感谢您的任何指点
您已在Spring Boot 跟踪器上交叉发布,开发人员已回复:
@ConditionalOnBean在处理完所有配置类后进行评估,即您不能使用它来使整个配置类以另一个 bean 的存在为条件。但是,您可以在必须使所有配置的 bean 以另一个 bean 的存在为条件的情况下使用它。
| 归档时间: |
|
| 查看次数: |
5202 次 |
| 最近记录: |