public interface ResourceLoaderAware extends Aware
Resource の依存関係は、Bean ファクトリによる自動型変換を使用して文字列を介して入力される Resource 型の Bean プロパティとしても公開できることに注意してください。これにより、特定のファイルリソースにアクセスするためだけにコールバックインターフェースを実装する必要がなくなります。
アプリケーションオブジェクトが、名前が計算されるさまざまなファイルリソースにアクセスする必要がある場合は、通常、ResourceLoader が必要です。オブジェクトが DefaultResourceLoader を使用するようにするが、ResourceLoaderAware を実装して、ApplicationContext で実行するときにオーバーライドできるようにすることは、良い戦略です。例については、ReloadableResourceBundleMessageSource を参照してください。
渡された ResourceLoader は、ResourcePatternResolver インターフェースをチェックしてそれに応じてキャストすることもでき、リソースパターンを Resource オブジェクトの配列に解決できます。これは、ApplicationContext で実行されている場合は常に機能します(コンテキストインターフェースは ResourcePatternResolver を継承します)。デフォルトとして PathMatchingResourcePatternResolver を使用します。ResourcePatternUtils.getResourcePatternResolver
メソッドも参照してください。
ResourcePatternResolver 依存関係の代わりに、Bean ファクトリによる自動型変換を使用してパターン文字列を介して入力された型 Resource 配列の Bean プロパティを公開することを検討してください。
ApplicationContextAware
, InitializingBean
, Resource
, ResourcePatternResolver
, ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)
, DefaultResourceLoader
, PathMatchingResourcePatternResolver
, ReloadableResourceBundleMessageSource
修飾子と型 | メソッドと説明 |
---|---|
void | setResourceLoader(ResourceLoader resourceLoader) このオブジェクトが実行される ResourceLoader を設定します。 |
void setResourceLoader(ResourceLoader resourceLoader)
これは ResourcePatternResolver であり、instanceof ResourcePatternResolver
で確認できます。ResourcePatternUtils.getResourcePatternResolver
メソッドも参照してください。
通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet
またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext
の前に呼び出されます。
resourceLoader
- このオブジェクトが使用する ResourceLoader オブジェクト ResourcePatternResolver
, ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)