クラス DefaultResourceLoader
- 実装されたすべてのインターフェース:
ResourceLoader
- 既知の直属サブクラス
AbstractApplicationContext
、ClassRelativeResourceLoader
、FileSystemResourceLoader
、ServletContextResourceLoader
ResourceLoader
インターフェースのデフォルト実装。ResourceEditor
によって使用され、AbstractApplicationContext
の基本クラスとして機能します。スタンドアロンでも使用できます。
場所の値が URL の場合は UrlResource
を返し、URL 以外のパスまたは "classpath:" 疑似 URL の場合は ClassPathResource
を返します。
- 導入:
- 10.03.2004
- 作成者:
- Juergen Hoeller
- 関連事項:
ネストされたクラスのサマリー
修飾子と型クラス説明protected static class
ContextResource インターフェースを実装することにより、コンテキスト相対パスを明示的に表現する ClassPathResource。フィールドサマリー
インターフェース org.springframework.core.io.ResourceLoader から継承されたフィールド
CLASSPATH_URL_PREFIX
コンストラクターのサマリー
コンストラクター説明新しい DefaultResourceLoader を作成します。DefaultResourceLoader
(ClassLoaderSE classLoader) 新しい DefaultResourceLoader を作成します。メソッドのサマリー
修飾子と型メソッド説明void
addProtocolResolver
(ProtocolResolver resolver) 指定されたリゾルバーをこのリソースローダーに登録して、追加のプロトコルを処理できるようにします。void
このリソースローダーのすべてのリソースキャッシュをクリアします。クラスパスリソースをロードする ClassLoader を返します。現在登録されているプロトコルリゾルバーのコレクションを返し、イントロスペクションと変更を許可します。getResource
(StringSE location) 指定されたリソースの場所のResource
ハンドルを返します。protected Resource
getResourceByPath
(StringSE path) 指定されたパスにあるリソースのリソースハンドルを返します。getResourceCache
(ClassSE<T> valueType) Resource
をキーとして、指定された値型のキャッシュを取得します。void
setClassLoader
(ClassLoaderSE classLoader) クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するためのnull
を指定します。
コンストラクターの詳細
DefaultResourceLoader
public DefaultResourceLoader()新しい DefaultResourceLoader を作成します。ClassLoader アクセスは、実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用して行われます(5.3 以降)。さらに制御するには、特定の ClassLoader を
DefaultResourceLoader(ClassLoader)
に渡します。DefaultResourceLoader
新しい DefaultResourceLoader を作成します。- パラメーター:
classLoader
- クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するためのnull
メソッドの詳細
setClassLoader
クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するためのnull
を指定します。デフォルトでは、ClassLoader アクセスは、実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用して行われます(5.3 以降)。
getClassLoader
クラスパスリソースをロードする ClassLoader を返します。このリソースローダーによって作成されたすべての ClassPathResource オブジェクトの ClassPathResource のコンストラクターに渡されます。
- 次で指定:
- インターフェース
ResourceLoader
のgetClassLoader
- 戻り値:
ClassLoader
(システムClassLoader
にさえアクセスできない場合は、null
のみ)- 関連事項:
addProtocolResolver
指定されたリゾルバーをこのリソースローダーに登録して、追加のプロトコルを処理できるようにします。このようなリゾルバーは、このローダーの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。
- 導入:
- 4.3
- 関連事項:
getProtocolResolvers
現在登録されているプロトコルリゾルバーのコレクションを返し、イントロスペクションと変更を許可します。- 導入:
- 4.3
- 関連事項:
getResourceCache
Resource
をキーとして、指定された値型のキャッシュを取得します。- パラメーター:
valueType
- 値の型。ASMMetadataReader
- 戻り値:
ResourceLoader
レベルで共有されるキャッシュMap
SE- 導入:
- 5.0
clearResourceCaches
public void clearResourceCaches()このリソースローダーのすべてのリソースキャッシュをクリアします。- 導入:
- 5.0
- 関連事項:
getResource
インターフェースからコピーされた説明:ResourceLoader
指定されたリソースの場所のResource
ハンドルを返します。ハンドルは常に再利用可能なリソース記述子であり、複数の
InputStreamSource.getInputStream()
呼び出しを許可する必要があります。- 完全修飾 URL をサポートする必要があります。" ファイル: C:/test.dat"。
- クラスパスの擬似 URL をサポートする必要があります。"classpath:test.dat"。
- 相対ファイルパスをサポートする必要があります(例: "WEB-INF/test.dat"。(これは実装固有であり、通常は ApplicationContext 実装によって提供されます。)
Resource
ハンドルは、既存のリソースを意味するものではないことに注意してください。存在を確認するには、Resource.exists()
を呼び出す必要があります。- 次で指定:
- インターフェース
ResourceLoader
のgetResource
- パラメーター:
location
- リソースの場所- 戻り値:
- 対応する
Resource
ハンドル (非null
) - 関連事項:
getResourceByPath
指定されたパスにあるリソースのリソースハンドルを返します。デフォルトの実装では、クラスパスの場所がサポートされています。これはスタンドアロンの実装に適しているはずですが、オーバーライドできます。サーブレットコンテナーを対象とした実装の場合。
- パラメーター:
path
- リソースへのパス- 戻り値:
- 対応するリソースハンドル
- 関連事項: