SpringBootアプリケーションの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
プロパティを有効にすると、コンポーネントを有効にした場合と同じように機能します。
wikiClient引数をプロパティに移動し、コンストラクターに含める代わりに@Autowired(required = false)を使用することで、これを解決しました。M.Deinumがコメントで言ったように。オプションの依存関係はコンストラクターに含めるべきではありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加