クラス PropertyResourceConfigurer

java.lang.ObjectSE
org.springframework.core.io.support.PropertiesLoaderSupport
org.springframework.beans.factory.config.PropertyResourceConfigurer
実装されているすべてのインターフェース:
BeanFactoryPostProcessor, Ordered, PriorityOrdered
既知の直属サブクラス
PlaceholderConfigurerSupport, PropertyOverrideConfigurer

public abstract class PropertyResourceConfigurer extends PropertiesLoaderSupport implements BeanFactoryPostProcessor, PriorityOrdered
プロパティリソース、つまりプロパティファイルから、個々の Bean プロパティ値を設定できます。アプリケーションコンテキストで構成された Bean プロパティをオーバーライドするシステム管理者を対象としたカスタム構成ファイルに役立ちます。

ディストリビューションでは 2 つの具体的な実装が提供されています。

  • "beanName.property=value" スタイルのオーバーライドの PropertyOverrideConfigurer (プロパティファイルから Bean 定義に値をプッシュする)
  • "${...}" プレースホルダーを置き換えるための PropertyPlaceholderConfigurer (Bean 定義にプロパティファイルから値をプルし )

プロパティ値は、convertPropertyValue(String) メソッドをオーバーライドすることで、読み込んだ後で変換できます。例: 暗号化された値は、処理する前に検出および復号化できます。

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

    • PropertyResourceConfigurer

      public PropertyResourceConfigurer()
  • メソッドの詳細

    • setOrder

      public void setOrder(int order)
      並べ替えの目的で、このオブジェクトの順序値を設定します。
      関連事項:
    • getOrder

      public int getOrder()
      インターフェースからコピーされた説明: Ordered
      このオブジェクトの順序値を取得します。

      値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。

      同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。

      次で指定:
      インターフェース OrderedgetOrder 
      戻り値:
      オーダー額
      関連事項:
    • postProcessBeanFactory

      public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
      指定された Bean ファクトリに対してプロパティをマージ変換処理します。
      次で指定:
      インターフェース BeanFactoryPostProcessorpostProcessBeanFactory 
      パラメーター:
      beanFactory - アプリケーションコンテキストで使用される Bean ファクトリ
      例外:
      BeanInitializationException - プロパティをロードできない場合
      BeansException - エラーの場合
    • convertProperties

      protected void convertProperties(PropertiesSE props)
      指定されたマージされたプロパティを変換し、必要に応じてプロパティ値を変換します。その後、結果が処理されます。

      デフォルトの実装では、各プロパティ値に対して convertPropertyValue(String) を呼び出し、元の値を変換された値で置き換えます。

      パラメーター:
      props - 変換するプロパティ
      関連事項:
    • convertProperty

      protected StringSE convertProperty(StringSE propertyName, StringSE propertyValue)
      指定されたプロパティをプロパティソースから適用される値に変換します。

      デフォルトの実装は convertPropertyValue(String) を呼び出します。

      パラメーター:
      propertyName - 値が定義されているプロパティの名前
      propertyValue - プロパティソースからの元の値
      戻り値:
      処理に使用される変換された値
      関連事項:
    • convertPropertyValue

      protected StringSE convertPropertyValue(StringSE originalValue)
      指定されたプロパティ値をプロパティソースから適用される値に変換します。

      デフォルトの実装は、単に元の値を返します。たとえば、暗号化された値を検出し、それに応じて復号化するために、サブクラスでオーバーライドできます。

      パラメーター:
      originalValue - プロパティソースからの元の値 (プロパティファイルまたはローカルの「プロパティ」)
      戻り値:
      処理に使用される変換された値
      関連事項:
    • processProperties

      protected abstract void processProperties(ConfigurableListableBeanFactory beanFactory, PropertiesSE props) throws BeansException
      特定のプロパティを特定の BeanFactory に適用します。
      パラメーター:
      beanFactory - アプリケーションコンテキストで使用される BeanFactory
      props - 適用するプロパティ
      例外:
      BeansException - エラーの場合