在我的Spring Boot 应用程序中,IntelliJ向我显示了警告Could not autowire. There is more than one bean of 'MyType' type.
实际上有两个bean,但它们是用condition on属性定义的
@Service
@ConditionalOnProperty(name = "features.feature1", havingValue = "true")
public class Bean1 implements SomeInterface{
}
第二个依赖于application.yml
中的相同属性,但如果将其设置为false
@Service
@ConditionalOnProperty(name = "features.feature1", havingValue = "false", matchIfMissing = true)
public class Bean2 implements SomeInterface{
}
有没有办法让IntelliJ明白这一点,而不显示警告?项目运行没有问题。
1条答案
按热度按时间uujelgoq1#
对我来说,创建一个结合了这些条件的类更简单、更干净,这样我就可以将其用于
@ConditionalOnBean
然后您可以使用
以及
如果你觉得管用就告诉我。