インターフェース ContextLoader
- すべての既知のサブインターフェース:
AotContextLoader
,SmartContextLoader
- すべての既知の実装クラス:
AbstractContextLoader
、AbstractDelegatingSmartContextLoader
、AbstractGenericContextLoader
、AbstractGenericWebContextLoader
、AnnotationConfigContextLoader
、AnnotationConfigWebContextLoader
、DelegatingSmartContextLoader
、GenericGroovyXmlContextLoader
、GenericGroovyXmlWebContextLoader
、GenericXmlContextLoader
、GenericXmlWebContextLoader
、WebDelegatingSmartContextLoader
ApplicationContext
をロードするための戦略インターフェース。 注意 : Spring Framework 6.0 の時点で、ContextLoader
は実質的にマーカーインターフェースであり、直接実装するべきではありません。アノテーション付きクラス、アクティブな Bean 定義プロファイル、アプリケーションコンテキスト初期化子、および ContextLoader
SPI で定義されたメソッドではサポートされていないその他のさまざまな機能をサポートするために、このインターフェースの代わりに SmartContextLoader
を実装します。
ContextLoader
のクライアントは、loadContext()
を呼び出す前に processLocations()
を呼び出す必要があります。これは、ContextLoader
が場所を変更または生成するためのカスタムサポートを提供する場合に備えています。次に、processLocations()
の結果を loadContext()
に提供する必要があります。
具体的な実装では、public
の引数なしのコンストラクターを提供する必要があります。
- 導入:
- 2.5
- 作成者:
- Sam Brannen, Juergen Hoeller
- 関連事項:
方法の概要
修飾子と型メソッド説明loadContext
(StringSE... locations) 使用すべきではありません。StringSE[]
processLocations
(ClassSE<?> clazz, StringSE... locations) 使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoader
SPI で定義されたメソッドを優先
メソッドの詳細
processLocations
使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoader
SPI で定義されたメソッドを優先指定されたクラスのアプリケーションコンテキストリソースの場所を処理します。具体的な実装では、指定された場所を変更したり、新しい場所を生成したり、指定された場所を変更せずに返したりすることができます。
- パラメーター:
clazz
- ロケーションが関連付けられているクラス: 指定されたロケーションの処理方法を決定するために使用されますlocations
- アプリケーションコンテキストのロードに使用する未変更の場所 (null
または空にすることができます)- 戻り値:
- アプリケーションコンテキストリソースの場所の配列
loadContext
使用すべきではありません。Spring Framework 6.0 の時点で、SmartContextLoader
SPI で定義されたメソッドを優先提供されたlocations
に基づいて新しいApplicationContext
をロードし、コンテキストを構成して、最後に完全にリフレッシュされた状態でコンテキストを返します。構成場所は通常、デフォルトではクラスパスリソースと見なされます。
具体的な実装では、この
ContextLoader
によってロードされたアプリケーションコンテキストの Bean ファクトリにアノテーション構成プロセッサーを登録する必要があります。Bean は自動的に@Autowired
、@Resource
EE、@Inject
EE を使用したアノテーションベースの依存性注入の候補になります。ContextLoader
によってロードされたすべてのApplicationContext
は、それ自体の JVM シャットダウンフックを登録する必要があります。コンテキストが早期に閉じられない限り、すべてのコンテキストインスタンスは JVM シャットダウン時に自動的に閉じられます。これにより、コンテキスト内の Bean によって保持されている外部リソース (一時ファイルなど) を解放できます。- パラメーター:
locations
- アプリケーションコンテキストをロードするために使用するリソースの場所- 戻り値:
- 新しいアプリケーションコンテキスト
- 例外:
ExceptionSE
- コンテキストの読み込みに失敗した場合
SmartContextLoader
SPI で定義されたメソッドを優先