クラス ReloadableResourceBundleExpressionSource
- 実装されたすべてのインターフェース:
Aware
、ResourceLoaderAware
、ExpressionSource
ExpressionSource
実装。このクラスは、式のカスタムデータ構造として Properties
SE インスタンスを使用し、PropertiesPersister
ストラテジーを介してロードします。デフォルトのストラテジーは、必要に応じて、特定の文字エンコードでプロパティファイルをロードできます。- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Mark Fisher, Gary Russell, Artem Bilan, Christian Tzolov
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
リソースバンドルキャッシュをクリアします。getExpression
(StringSE key, LocaleSE locale) 取得したバンドルファイル内の指定されたキーを式に解決します。void
setBasename
(StringSE basename) ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従って、単一のベース名を設定します。void
setBasenames
(StringSE[] basenames) ベース名の配列を設定します。各ベース名は、ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従います。void
setCacheSeconds
(int cacheSeconds) ロードされたプロパティファイルをキャッシュする秒数を設定します。void
setDefaultEncoding
(StringSE defaultEncoding) プロパティファイルの解析に使用するデフォルトの文字セットを設定します。void
setFallbackToSystemLocale
(boolean fallbackToSystemLocale) 特定のロケールのファイルが見つからなかった場合にシステムのロケールにフォールバックするかどうかを設定します。void
setFileEncodings
(PropertiesSE fileEncodings) プロパティファイルの解析に使用するファイルごとの文字セットを設定します。void
setPropertiesPersister
(PropertiesPersister propertiesPersister) プロパティファイルの解析に使用する PropertiesPersister を設定します。void
setResourceLoader
(ResourceLoader resourceLoader) バンドルプロパティファイルのロードに使用する ResourceLoader を設定します。toString()
コンストラクターの詳細
ReloadableResourceBundleExpressionSource
public ReloadableResourceBundleExpressionSource()
メソッドの詳細
setBasename
ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従って、単一のベース名を設定します。"META-INF/expression.properties"、"META-INF/expressions_en.properties" などの "META-INF/expressions"。XML プロパティファイルもサポートされています: .g。"META-INF/expression" は、"META-INF/expression.xml"、"META-INF/expressions_en.xml" なども検索してロードします。
- パラメーター:
basename
- 単一のベースネーム- 関連事項:
setBasenames
ベース名の配列を設定します。各ベース名は、ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従います。"META-INF/expression.properties"、"META-INF/expressions_en.properties" などの "META-INF/expressions"。XML プロパティファイルもサポートされています: .g。"META-INF/expression" は、"META-INF/expression.xml"、"META-INF/expressions_en.xml" なども検索してロードします。
式キーを解決するときに、関連するリソースバンドルが順番にチェックされます。シーケンシャルルックアップにより、 前のリソースバンドルの式定義が後のバンドルの式定義を上書きすることに注意してください。
- パラメーター:
basenames
- ベース名の配列- 関連事項:
setDefaultEncoding
プロパティファイルの解析に使用するデフォルトの文字セットを設定します。ファイルにファイル固有の文字セットが指定されていない場合に使用されます。デフォルトは none で、
java.util.Properties
デフォルトエンコーディングを使用します。クラシックプロパティファイルにのみ適用され、XML ファイルには適用されません。
- パラメーター:
defaultEncoding
- デフォルトの文字セット- 関連事項:
setFileEncodings
プロパティファイルの解析に使用するファイルごとの文字セットを設定します。クラシックプロパティファイルにのみ適用され、XML ファイルには適用されません。
- パラメーター:
fileEncodings
- キーとしてファイル名、値として文字セット名を持つプロパティ。ファイル名は、オプションのロケール固有の付録を使用して、ベース名の構文と一致する必要があります。"META-INF/expressions" または "META-INF/expressions_en"。- 関連事項:
setFallbackToSystemLocale
public void setFallbackToSystemLocale(boolean fallbackToSystemLocale) 特定のロケールのファイルが見つからない場合に、システムロケールにフォールバックするかどうかを設定します。デフォルトは "true" です。これがオフになっている場合、フォールバックはデフォルトファイルのみになります(例: ベース名 "expressions" の "expressions.properties" )。システムロケールへのフォールバックは、
java.util.ResourceBundle
のデフォルトの動作です。ただし、これは、システムロケールがアプリケーションにまったく関係しないアプリケーションサーバー環境では望ましくないことがよくあります。このようなシナリオでは、このフラグを "false" に設定します。- パラメーター:
fallbackToSystemLocale
- フォールバックするのは本当です。
setCacheSeconds
public void setCacheSeconds(int cacheSeconds) ロードされたプロパティファイルをキャッシュする秒数を設定します。- デフォルトは "-1" で、永久にキャッシュすることを示します(
java.util.ResourceBundle
と同様)。 - 正の数は、指定された秒数の間、ロードされたプロパティファイルをキャッシュします。これは基本的に、リフレッシュチェックの間隔です。リフレッシュ試行では、実際にファイルを再ロードする前に、ファイルの最終変更タイムスタンプを最初に確認することに注意してください。ファイルが変更されない場合、リフレッシュの試行は実際には再ロードされないため、この間隔はかなり低く設定できます。
- 値が "0" の場合、式にアクセスするたびにファイルの最終変更タイムスタンプがチェックされます。 これを本番環境で使用しないでください。
- パラメーター:
cacheSeconds
- キャッシュ秒。
- デフォルトは "-1" で、永久にキャッシュすることを示します(
setPropertiesPersister
プロパティファイルの解析に使用する PropertiesPersister を設定します。デフォルトは DefaultPropertiesPersister です。
- パラメーター:
propertiesPersister
- プロパティの永続化。- 関連事項:
setResourceLoader
バンドルプロパティファイルのロードに使用する ResourceLoader を設定します。デフォルトは DefaultResourceLoader です。コンテキストで実行されている場合、ResourceLoaderAware インターフェースを実装しているため、ApplicationContext によってオーバーライドされます。ApplicationContext の外部で実行する場合は、手動でオーバーライドできます。
- 次で指定:
- インターフェース
ResourceLoaderAware
のsetResourceLoader
- 関連事項:
getExpression
取得したバンドルファイル内の指定されたキーを式に解決します。- 次で指定:
- インターフェース
ExpressionSource
のgetExpression
clearCache
public void clearCache()リソースバンドルキャッシュをクリアします。その後の resolve 呼び出しは、プロパティファイルのリロードにつながります。toString