クラス DefaultResourceLoader

java.lang.ObjectSE
org.springframework.core.io.DefaultResourceLoader
実装されたすべてのインターフェース:
ResourceLoader
既知の直属サブクラス
AbstractApplicationContextClassRelativeResourceLoaderFileSystemResourceLoaderServletContextResourceLoader

public class DefaultResourceLoader extends ObjectSE implements ResourceLoader
ResourceLoader インターフェースのデフォルト実装。

ResourceEditor によって使用され、AbstractApplicationContext の基本クラスとして機能します。スタンドアロンでも使用できます。

場所の値が URL の場合は UrlResource を返し、URL 以外のパスまたは "classpath:" 疑似 URL の場合は ClassPathResource を返します。

導入:
10.03.2004
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • DefaultResourceLoader

      public DefaultResourceLoader()
      新しい DefaultResourceLoader を作成します。

      ClassLoader アクセスは、実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用して行われます(5.3 以降)。さらに制御するには、特定の ClassLoader を DefaultResourceLoader(ClassLoader) に渡します。

      関連事項:
    • DefaultResourceLoader

      public DefaultResourceLoader(@Nullable ClassLoaderSE classLoader)
      新しい DefaultResourceLoader を作成します。
      パラメーター:
      classLoader - クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するための null 
  • メソッドの詳細

    • setClassLoader

      public void setClassLoader(@Nullable ClassLoaderSE classLoader)
      クラスパスリソースをロードする ClassLoader、または実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用するための null を指定します。

      デフォルトでは、ClassLoader アクセスは、実際のリソースアクセス時にスレッドコンテキストクラスローダーを使用して行われます(5.3 以降)。

    • getClassLoader

      @Nullable public ClassLoaderSE getClassLoader()
      クラスパスリソースをロードする ClassLoader を返します。

      このリソースローダーによって作成されたすべての ClassPathResource オブジェクトの ClassPathResource のコンストラクターに渡されます。

      次で指定:
      インターフェース ResourceLoadergetClassLoader 
      戻り値:
      ClassLoader (システム ClassLoader にさえアクセスできない場合は、null のみ)
      関連事項:
    • addProtocolResolver

      public void addProtocolResolver(ProtocolResolver resolver)
      指定されたリゾルバーをこのリソースローダーに登録して、追加のプロトコルを処理できるようにします。

      このようなリゾルバーは、このローダーの標準の解決ルールより先に呼び出されます。デフォルトのルールも上書きする可能性があります。

      導入:
      4.3
      関連事項:
    • getProtocolResolvers

      public CollectionSE<ProtocolResolver> getProtocolResolvers()
      現在登録されているプロトコルリゾルバーのコレクションを返し、イントロスペクションと変更を許可します。
      導入:
      4.3
      関連事項:
    • getResourceCache

      public <T> MapSE<Resource,T> getResourceCache(ClassSE<T> valueType)
      Resource をキーとして、指定された値型のキャッシュを取得します。
      パラメーター:
      valueType - 値の型。ASM MetadataReader
      戻り値:
      ResourceLoader レベルで共有されるキャッシュ MapSE
      導入:
      5.0
    • clearResourceCaches

      public void clearResourceCaches()
      このリソースローダーのすべてのリソースキャッシュをクリアします。
      導入:
      5.0
      関連事項:
    • getResource

      public Resource getResource(StringSE location)
      インターフェースからコピーされた説明: ResourceLoader
      指定されたリソースの場所の Resource ハンドルを返します。

      ハンドルは常に再利用可能なリソース記述子であり、複数の InputStreamSource.getInputStream() 呼び出しを許可する必要があります。

      • 完全修飾 URL をサポートする必要があります。" ファイル: C:/test.dat"。
      • クラスパスの擬似 URL をサポートする必要があります。"classpath:test.dat"。
      • 相対ファイルパスをサポートする必要があります(例: "WEB-INF/test.dat"。(これは実装固有であり、通常は ApplicationContext 実装によって提供されます。)

      Resource ハンドルは、既存のリソースを意味するものではないことに注意してください。存在を確認するには、Resource.exists() を呼び出す必要があります。

      次で指定:
      インターフェース ResourceLoadergetResource 
      パラメーター:
      location - リソースの場所
      戻り値:
      対応する Resource ハンドル (非 null)
      関連事項:
    • getResourceByPath

      protected Resource getResourceByPath(StringSE path)
      指定されたパスにあるリソースのリソースハンドルを返します。

      デフォルトの実装では、クラスパスの場所がサポートされています。これはスタンドアロンの実装に適しているはずですが、オーバーライドできます。サーブレットコンテナーを対象とした実装の場合。

      パラメーター:
      path - リソースへのパス
      戻り値:
      対応するリソースハンドル
      関連事項: