@ContextConfiguration
アノテーションを使用して、アプリケーションの構成を管理しています。構成は、その特定のモジュールによって公開される Bean のみを提供するように作成されます。このため、特定のモジュールで使用される一部の Bean は、必ずしも直接インポートされるとは限りません。例:
configuration --(use)--> module1 --(cannot @Import)--> database
\-(use)--------------------------------> database
つまり、データベース構成を必要とする (ただし、直接インポートしてはならないconfiguration
)用途です。したがって、モジュールも使用します。module1
configuration
database
しかし、インポートが解決される順序はかなりランダムなようです。使っても
@ContextConfiguration(classes={DatabaseConfig.class, Module1Config.class})
これにより、初期化時に不確定なエラーが発生します ( NoSuchBeanDefinitionException
)。
Bean が初期化される順序に影響を与える方法はありますか? @Import
または、依存関係に沿った構成のオーバーレイを作成する必要がありますか? ただし、その場合、@Import
依存関係がロードされる順序を確認する必要があるため、同じ質問が適用されます。