我有一个组件,我可以从我的spring启动应用程序中的applikation.properties启用/禁用..
在我的application.properties中我有
wiki.enabled=false
在组件中看起来像这样
@Component
@ConditionalOnProperty("wiki.enabled")
public class WikiClient {
...
}
最后在我使用wikiclient的其他类中,我已经在我的构造函数中自动启动了它。
@Autowired(required = false)
public MigrationManager(UserService userService, WikiClient wikiClient) {
...
}
我仍然得到例外
No qualifying bean of type com.test.WikiClient
如果我启用该属性,它就像我启用了该组件一样。
答案 0 :(得分:1)
我通过将wikiClient参数移动到属性并使用@Autowired(required = false)而不是在构造函数中使用它来解决它。就像M. Deinum在评论中所说的那样。可选的依赖项不应该在构造函数中。