public interface ResourceLoaderAware extends Aware
ResourceLoader
(通常は ApplicationContext)の通知を希望するオブジェクトによって実装されるインターフェース。これは、ApplicationContextAware
インターフェースを介した完全な ApplicationContext
依存関係の代替手段です。Resource
の依存関係は、型 Resource
の Bean プロパティとして公開することもできます。これは、Bean ファクトリによる自動型変換で文字列を介して入力されます。これにより、特定のファイルリソースにアクセスするためだけにコールバックインターフェースを実装する必要がなくなります。
アプリケーションオブジェクトが、名前が計算されるさまざまなファイルリソースにアクセスする必要がある場合は、通常、ResourceLoader
が必要です。オブジェクトが DefaultResourceLoader
を使用するようにしながら、ApplicationContext
で実行するときにオーバーライドできるように ResourceLoaderAware
を実装することをお勧めします。例については、ReloadableResourceBundleMessageSource
を参照してください。
リソースパターンを Resource
オブジェクトの配列に解決するために、渡された ResourceLoader
で ResourcePatternResolver
インターフェースをチェックしてキャストすることもできます。これは、ApplicationContext で実行しているときに常に機能します(コンテキストインターフェースが ResourcePatternResolver インターフェースを継承するため)。デフォルトとして PathMatchingResourcePatternResolver
を使用します。ResourcePatternUtils.getResourcePatternResolver
メソッドも参照してください。
ResourcePatternResolver
依存関係の代わりとして、バインディング時に Bean ファクトリによる自動型変換でパターン文字列を介して入力された型 Resource
配列の Bean プロパティを公開することを検討してください。
ApplicationContextAware
, Resource
, ResourceLoader
, ResourcePatternResolver
修飾子と型 | メソッドと説明 |
---|---|
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)