public abstract class AbstractEnvironment extends java.lang.Object implements ConfigurableEnvironment
Environment
実装の抽象基本クラス。予約済みのデフォルトプロファイル名の概念をサポートし、ACTIVE_PROFILES_PROPERTY_NAME
および DEFAULT_PROFILES_PROPERTY_NAME
プロパティを通じてアクティブプロファイルとデフォルトプロファイルを指定できるようにします。 具象サブクラスは主に、デフォルトで追加する PropertySource
オブジェクトが異なります。AbstractEnvironment
は何も追加しません。サブクラスは保護された customizePropertySources(MutablePropertySources)
フックを介してプロパティソースを提供する必要がありますが、クライアントは ConfigurableEnvironment.getPropertySources()
を使用して MutablePropertySources
API に対して動作するようにカスタマイズする必要があります。使用例については、ConfigurableEnvironment
javadoc を参照してください。
ConfigurableEnvironment
, StandardEnvironment
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | ACTIVE_PROFILES_PROPERTY_NAME アクティブなプロファイルを指定するために設定するプロパティの名前: "spring.profiles.active"。 |
static java.lang.String | DEFAULT_PROFILES_PROPERTY_NAME デフォルトでアクティブなプロファイルを指定するために設定するプロパティの名前: "spring.profiles.default"。 |
static java.lang.String | IGNORE_GETENV_PROPERTY_NAME システム環境変数を無視するように Spring に指示するシステムプロパティ。 |
protected Log | logger |
protected static java.lang.String | RESERVED_DEFAULT_PROFILE_NAME 予約済みのデフォルトのプロファイル名: "default"。 |
コンストラクターと説明 |
---|
AbstractEnvironment() 新しい Environment インスタンスを作成し、構築中に customizePropertySources(MutablePropertySources) をコールバックして、サブクラスが必要に応じて PropertySource インスタンスを提供または操作できるようにします。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | acceptsProfiles(Profiles profiles) アクティブなプロファイルが指定された Profiles 述語と一致するかどうかを返します。 |
boolean | acceptsProfiles(java.lang.String... profiles) 使用すべきではありません。 |
void | addActiveProfile(java.lang.String profile) 現在のアクティブなプロファイルのセットにプロファイルを追加します。 |
boolean | containsProperty(java.lang.String key) 指定されたプロパティキーが解決に使用できるかどうかを返します。 |
protected void | customizePropertySources(MutablePropertySources propertySources) |
protected java.util.Set<java.lang.String> | doGetActiveProfiles() setActiveProfiles(java.lang.String...) によって明示的に設定されたアクティブプロファイルのセットを返すか、現在のアクティブプロファイルのセットが空の場合は、"spring.profiles.active" プロパティの存在を確認し、その値をアクティブプロファイルのセットに割り当てます。 |
protected java.util.Set<java.lang.String> | doGetDefaultProfiles() setDefaultProfiles(String...) を介して明示的に設定されたデフォルトプロファイルのセットを返すか、現在のデフォルトプロファイルのセットが予約済みデフォルトプロファイルのみで構成されている場合は、"spring.profiles.default" プロパティの存在を確認し、その値(存在する場合)をデフォルトプロファイルのセットに割り当てます。 |
java.lang.String[] | getActiveProfiles() この環境で明示的にアクティブにされたプロファイルのセットを返します。 |
ConfigurableConversionService | getConversionService() プロパティの型変換を実行するときに使用される ConfigurableConversionService を返します。 |
java.lang.String[] | getDefaultProfiles() アクティブなプロファイルが明示的に設定されていない場合、デフォルトでアクティブになるプロファイルのセットを返します。 |
java.lang.String | getProperty(java.lang.String key) 指定されたキーに関連付けられているプロパティ値を返します。キーを解決できない場合は null を返します。 |
<T> T | getProperty(java.lang.String key, java.lang.Class<T> targetType) 指定されたキーに関連付けられているプロパティ値を返します。キーを解決できない場合は null を返します。 |
<T> T | getProperty(java.lang.String key, java.lang.Class<T> targetType, T defaultValue) 指定されたキーに関連付けられているプロパティ値を返します。キーを解決できない場合は defaultValue を返します。 |
java.lang.String | getProperty(java.lang.String key, java.lang.String defaultValue) 指定されたキーに関連付けられているプロパティ値を返します。キーを解決できない場合は defaultValue を返します。 |
MutablePropertySources | getPropertySources() この Environment の PropertySources を変更可能な形式で返し、この Environment オブジェクトに対するプロパティを解決するときに検索する必要がある PropertySource オブジェクトのセットを操作できるようにします。 |
java.lang.String | getRequiredProperty(java.lang.String key) 指定されたキーに関連付けられているプロパティ値を返します(決して null はありません)。 |
<T> T | getRequiredProperty(java.lang.String key, java.lang.Class<T> targetType) 指定されたキーに関連付けられたプロパティ値を、指定された targetType ( null ではない) に変換して返します。 |
protected java.util.Set<java.lang.String> | getReservedDefaultProfiles() 予約済みのデフォルトのプロファイル名のセットを返します。 |
java.util.Map<java.lang.String,java.lang.Object> | getSystemEnvironment() 現在の SecurityManager で許可されている場合は System.getenv() の値を返し、そうでない場合は System.getenv(String) の呼び出しを使用して個々のキーにアクセスしようとするマップ実装を返します。 |
java.util.Map<java.lang.String,java.lang.Object> | getSystemProperties() 現在の SecurityManager で許可されている場合は System.getProperties() の値を返し、そうでない場合は System.getProperty(String) の呼び出しを使用して個々のキーにアクセスしようとするマップ実装を返します。 |
protected boolean | isProfileActive(java.lang.String profile) 指定されたプロファイルがアクティブかどうか、アクティブなプロファイルが空の場合、デフォルトでプロファイルをアクティブにするかどうかを返します。 |
void | merge(ConfigurableEnvironment parent) 指定された親環境のアクティブプロファイル、デフォルトプロファイル、プロパティソースを、この(子)環境のそれぞれのコレクションに追加します。 |
java.lang.String | resolvePlaceholders(java.lang.String text) 指定されたテキストの ${...} プレースホルダーを解決し、 PropertyResolver.getProperty(java.lang.String) によって解決された対応するプロパティ値に置き換えます。 |
java.lang.String | resolveRequiredPlaceholders(java.lang.String text) 指定されたテキストの ${...} プレースホルダーを解決し、 PropertyResolver.getProperty(java.lang.String) によって解決された対応するプロパティ値に置き換えます。 |
void | setActiveProfiles(java.lang.String... profiles) この Environment に対してアクティブなプロファイルのセットを指定します。 |
void | setConversionService(ConfigurableConversionService conversionService) プロパティで型変換を実行するときに使用する ConfigurableConversionService を設定します。 |
void | setDefaultProfiles(java.lang.String... profiles) 他のプロファイルが setActiveProfiles(java.lang.String...) を介して明示的にアクティブにされない場合、デフォルトでアクティブになるプロファイルのセットを指定します。 |
void | setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders) 特定のプロパティの値内にネストされた解決できないプレースホルダーに遭遇したときに例外をスローするかどうかを設定します。 |
void | setPlaceholderPrefix(java.lang.String placeholderPrefix) このリゾルバーで置き換えられたプレースホルダーが開始する必要がある接頭辞を設定します。 |
void | setPlaceholderSuffix(java.lang.String placeholderSuffix) このリゾルバーで置き換えられたプレースホルダーが終了する必要があるサフィックスを設定します。 |
void | setRequiredProperties(java.lang.String... requiredProperties) ConfigurablePropertyResolver.validateRequiredProperties() によって検証される、存在する必要があるプロパティを指定します。 |
void | setValueSeparator(java.lang.String valueSeparator) このリゾルバーによって置き換えられたプレースホルダーとそれに関連付けられたデフォルト値の間の区切り文字を指定します。そのような特殊文字を値のセパレーターとして処理する必要がない場合は、 null を指定します。 |
protected boolean | suppressGetenvAccess() |
java.lang.String | toString() |
protected void | validateProfile(java.lang.String profile) アクティブまたはデフォルトのプロファイルのセットに追加する前に内部的に呼び出される、指定されたプロファイルを検証します。 |
void | validateRequiredProperties() ConfigurablePropertyResolver.setRequiredProperties(java.lang.String...) で指定された各プロパティが存在し、null 以外の値に解決されることを確認します。 |
public static final java.lang.String IGNORE_GETENV_PROPERTY_NAME
System.getenv()
を介してそのような変数を取得しようとしないでください。 デフォルトは "false" で、Spring 環境プロパティ (設定文字列のプレースホルダなど) が解決できない場合は、システム環境変数のチェックにフォールバックします。Spring からの getenv
コールからのログ警告が発生する場合、たとえば、厳格な SecurityManager 設定と AccessControlExceptions 警告がある WebSphere などでは、このフラグを "true" に変更することを検討してください。
public static final java.lang.String ACTIVE_PROFILES_PROPERTY_NAME
Bash などの特定のシェル環境では、変数名にピリオド文字を使用できないことに注意してください。Spring の SystemEnvironmentPropertySource
が使用されていると仮定すると、このプロパティは SPRING_PROFILES_ACTIVE
として環境変数として指定できます。
public static final java.lang.String DEFAULT_PROFILES_PROPERTY_NAME
Bash などの特定のシェル環境では、変数名にピリオド文字を使用できないことに注意してください。Spring の SystemEnvironmentPropertySource
が使用されていると仮定すると、このプロパティは SPRING_PROFILES_DEFAULT
として環境変数として指定できます。
protected static final java.lang.String RESERVED_DEFAULT_PROFILE_NAME
protected final Log logger
public AbstractEnvironment()
Environment
インスタンスを作成し、構築中に customizePropertySources(MutablePropertySources)
をコールバックして、サブクラスが必要に応じて PropertySource
インスタンスを提供または操作できるようにします。protected void customizePropertySources(MutablePropertySources propertySources)
getProperty(String)
および関連メソッドの呼び出し中にこの Environment
によって検索される PropertySource
オブジェクトのセットをカスタマイズします。 このメソッドをオーバーライドするサブクラスは、MutablePropertySources.addLast(PropertySource)
を使用してプロパティソースを追加することをお勧めします。これにより、さらにサブクラスが予測可能な結果で super.customizePropertySources()
を呼び出すことができます。例:
public class Level1Environment extends AbstractEnvironment { @Override protected void customizePropertySources(MutablePropertySources propertySources) { super.customizePropertySources(propertySources); // no-op from base class propertySources.addLast(new PropertySourceA(...)); propertySources.addLast(new PropertySourceB(...)); } } public class Level2Environment extends Level1Environment { @Override protected void customizePropertySources(MutablePropertySources propertySources) { super.customizePropertySources(propertySources); // add all from superclass propertySources.addLast(new PropertySourceC(...)); propertySources.addLast(new PropertySourceD(...)); } }この配置では、プロパティはソース A、B、C、D の順に解決されます。つまり、プロパティソース "A" はプロパティソース "D" よりも優先されます。
Level2Environment
サブクラスがプロパティソース C および D に A および B よりも高い優先順位を与えたい場合は、Level2Environment
を独自に追加する前ではなく、後で super.customizePropertySources
を呼び出すだけです。public class Level2Environment extends Level1Environment { @Override protected void customizePropertySources(MutablePropertySources propertySources) { propertySources.addLast(new PropertySourceC(...)); propertySources.addLast(new PropertySourceD(...)); super.customizePropertySources(propertySources); // add all from superclass } }検索順序は、必要に応じて C、D、A、B になりました。
これらの推奨事項に加えて、サブクラスは、必要なプロパティソースの正確な配置を作成するために、MutablePropertySources
によって公開される add*
、remove
、replace
メソッドのいずれかを使用できます。
基本実装はプロパティソースを登録しません。
ConfigurableEnvironment
のクライアントは、通常 ApplicationContextInitializer
内で、getPropertySources()
アクセサーを介してプロパティソースをさらにカスタマイズできることに注意してください。例:
ConfigurableEnvironment env = new StandardEnvironment(); env.getPropertySources().addLast(new PropertySourceX(...));
AbstractEnvironment()
コンストラクターによって呼び出されたときに初期値がまだ割り当てられていないため、NullPointerException
またはその他の問題が発生する可能性があります。インスタンス変数のデフォルト値にアクセスする必要がある場合は、このメソッドを何もしないで、サブクラスコンストラクター内でプロパティソース操作とインスタンス変数アクセスを直接実行します。インスタンス変数に値を割り当てることには問題がないことに注意してください。避けなければならないデフォルト値を読み取ろうとしているだけです。protected java.util.Set<java.lang.String> getReservedDefaultProfiles()
public java.lang.String[] getActiveProfiles()
Environment
ConfigurableEnvironment.setActiveProfiles(String...)
を呼び出します。アクティブとして明示的に指定されたプロファイルがない場合は、デフォルトのプロファイルが自動的にアクティブになります。
protected java.util.Set<java.lang.String> doGetActiveProfiles()
setActiveProfiles(java.lang.String...)
によって明示的に設定されたアクティブプロファイルのセットを返すか、現在のアクティブプロファイルのセットが空の場合は、"spring.profiles.active" プロパティの存在を確認し、その値をアクティブプロファイルのセットに割り当てます。public void setActiveProfiles(java.lang.String... profiles)
ConfigurableEnvironment
Environment
に対してアクティブなプロファイルのセットを指定します。コンテナーのブートストラップ中にプロファイルが評価され、Bean 定義をコンテナーに登録する必要があるかどうかが判別されます。 既存のアクティブなプロファイルは、指定された引数で置き換えられます。引数なしで呼び出し、現在のアクティブなプロファイルのセットをクリアします。ConfigurableEnvironment.addActiveProfile(java.lang.String)
を使用して、既存のセットを保持しながらプロファイルを追加します。
public void addActiveProfile(java.lang.String profile)
ConfigurableEnvironment
public java.lang.String[] getDefaultProfiles()
Environment
protected java.util.Set<java.lang.String> doGetDefaultProfiles()
setDefaultProfiles(String...)
を介して明示的に設定されたデフォルトプロファイルのセットを返すか、現在のデフォルトプロファイルのセットが予約済みデフォルトプロファイルのみで構成されている場合は、"spring.profiles.default" プロパティの存在を確認し、その値(存在する場合)をデフォルトプロファイルのセットに割り当てます。public void setDefaultProfiles(java.lang.String... profiles)
setActiveProfiles(java.lang.String...)
を介して明示的にアクティブにされない場合、デフォルトでアクティブになるプロファイルのセットを指定します。このメソッドを呼び出すと、環境の構築中に追加された可能性がある予約済みのデフォルトプロファイルがすべて削除されます。
ConfigurableEnvironment
の setDefaultProfiles
AbstractEnvironment()
, getReservedDefaultProfiles()
@Deprecated public boolean acceptsProfiles(java.lang.String... profiles)
Environment
true
を返します。例: プロファイル "p1" がアクティブであるか "p2" がアクティブでない場合、env.acceptsProfiles("p1", "!p2")
は true
を返します。public boolean acceptsProfiles(Profiles profiles)
Environment
Profiles
述語と一致するかどうかを返します。Environment
の acceptsProfiles
protected boolean isProfileActive(java.lang.String profile)
java.lang.IllegalArgumentException
- validateProfile(String)
あたり protected void validateProfile(java.lang.String profile)
サブクラスは、プロファイル構文にさらに制限を課すためにオーバーライドできます。
java.lang.IllegalArgumentException
- プロファイルが null、空、空白のみ、またはプロファイル NOT 演算子(!)で始まる場合。acceptsProfiles(java.lang.String...)
, addActiveProfile(java.lang.String)
, setDefaultProfiles(java.lang.String...)
public MutablePropertySources getPropertySources()
ConfigurableEnvironment
Environment
の PropertySources
を変更可能な形式で返し、この Environment
オブジェクトに対するプロパティを解決するときに検索する必要がある PropertySource
オブジェクトのセットを操作できるようにします。addFirst
、addLast
、addBefore
、addAfter
などのさまざまな MutablePropertySources
メソッドにより、プロパティソースの順序をきめ細かく制御できます。これは、たとえば、特定のユーザー定義のプロパティソースが、システムプロパティのセットやシステム環境変数のセットなどのデフォルトのプロパティソースよりも優先して検索されるようにする場合に役立ちます。public java.util.Map<java.lang.String,java.lang.Object> getSystemProperties()
ConfigurableEnvironment
SecurityManager
で許可されている場合は System.getProperties()
の値を返し、そうでない場合は System.getProperty(String)
の呼び出しを使用して個々のキーにアクセスしようとするマップ実装を返します。 ほとんどの Environment
実装には、このシステムプロパティマップがデフォルトの PropertySource
として含まれることに注意してください。他のプロパティソースをバイパスすることが明確に意図されていない限り、このメソッドを直接使用しないことをお勧めします。
返された Map で Map.get(Object)
を呼び出しても、IllegalAccessException
はスローされません。SecurityManager がプロパティへのアクセスを禁止する場合、null
が返され、例外を通知する INFO レベルのログメッセージが発行されます。
ConfigurableEnvironment
の getSystemProperties
public java.util.Map<java.lang.String,java.lang.Object> getSystemEnvironment()
ConfigurableEnvironment
SecurityManager
で許可されている場合は System.getenv()
の値を返し、そうでない場合は System.getenv(String)
の呼び出しを使用して個々のキーにアクセスしようとするマップ実装を返します。 ほとんどの Environment
実装には、このシステム環境マップが検索されるデフォルトの PropertySource
として含まれることに注意してください。他のプロパティソースをバイパスすることが明確に意図されていない限り、このメソッドを直接使用しないことをお勧めします。
返された Map で Map.get(Object)
を呼び出しても、IllegalAccessException
はスローされません。SecurityManager がプロパティへのアクセスを禁止する場合、null
が返され、例外を通知する INFO レベルのログメッセージが発行されます。
ConfigurableEnvironment
の getSystemEnvironment
protected boolean suppressGetenvAccess()
getSystemEnvironment()
の目的で System.getenv()
/System.getenv(String)
アクセスを抑制するかどうかを決定します。 このメソッドが true
を返す場合、通常のシステム環境マップの代わりに空のダミーマップが使用され、getenv
を呼び出そうとしないため、セキュリティマネージャーの警告(存在する場合)が回避されます。
デフォルトの実装では、"spring.getenv.ignore" システムプロパティがチェックされ、値が "true" の場合は true
が返されます。
public void merge(ConfigurableEnvironment parent)
ConfigurableEnvironment
親と子の両方に存在する同じ名前の PropertySource
インスタンスの場合、子インスタンスは保持され、親インスタンスは破棄されます。これには、子によるプロパティソースのオーバーライドを許可するだけでなく、一般的なプロパティソース型を介した冗長な検索を回避する効果があります。システム環境とシステムプロパティ。
混乱や冗長なストレージを回避するために、アクティブなプロファイル名とデフォルトのプロファイル名も重複がないようにフィルタリングされます。
いずれの場合も、親環境は変更されません。merge
の呼び出し後に発生した親環境への変更は、子には反映されないことに注意してください。merge
を呼び出す前に、親プロパティソースとプロファイル情報を構成するように注意する必要があります。
ConfigurableEnvironment
の merge
parent
- マージする環境 AbstractApplicationContext.setParent(org.springframework.context.ApplicationContext)
public ConfigurableConversionService getConversionService()
ConfigurablePropertyResolver
ConfigurableConversionService
を返します。 返される変換サービスの構成可能な性質により、個々の Converter
インスタンスを簡単に追加および削除できます。
ConfigurableConversionService cs = env.getConversionService(); cs.addConverter(new FooConverter());
public void setConversionService(ConfigurableConversionService conversionService)
ConfigurablePropertyResolver
ConfigurableConversionService
を設定します。 注意 : ConversionService
を完全に置き換える代わりに、ConfigurablePropertyResolver.getConversionService()
にドリルして #addConverter
などのメソッドを呼び出すことにより、個々の Converter
インスタンスを追加または削除することを検討してください。
public void setPlaceholderPrefix(java.lang.String placeholderPrefix)
ConfigurablePropertyResolver
ConfigurablePropertyResolver
の setPlaceholderPrefix
public void setPlaceholderSuffix(java.lang.String placeholderSuffix)
ConfigurablePropertyResolver
ConfigurablePropertyResolver
の setPlaceholderSuffix
public void setValueSeparator(@Nullable java.lang.String valueSeparator)
ConfigurablePropertyResolver
null
を指定します。ConfigurablePropertyResolver
の setValueSeparator
public void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders)
ConfigurablePropertyResolver
false
値は、厳密な解決、つまり例外がスローされることを示します。true
値は、解決できないネストされたプレースホルダーが、解決されていない ${...} 形式で渡されることを示します。PropertyResolver.getProperty(String)
とそのバリアントの実装は、プロパティ値に解決できないプレースホルダーが含まれている場合、ここで設定された値をインスペクションして正しい動作を決定する必要があります。
ConfigurablePropertyResolver
の setIgnoreUnresolvableNestedPlaceholders
public void setRequiredProperties(java.lang.String... requiredProperties)
ConfigurablePropertyResolver
ConfigurablePropertyResolver.validateRequiredProperties()
によって検証される、存在する必要があるプロパティを指定します。ConfigurablePropertyResolver
の setRequiredProperties
public void validateRequiredProperties() throws MissingRequiredPropertiesException
ConfigurablePropertyResolver
ConfigurablePropertyResolver.setRequiredProperties(java.lang.String...)
で指定された各プロパティが存在し、null
以外の値に解決されることを確認します。ConfigurablePropertyResolver
の validateRequiredProperties
MissingRequiredPropertiesException
- 必要なプロパティのいずれかが解決できない場合。public boolean containsProperty(java.lang.String key)
PropertyResolver
null
でないかどうかを返します。PropertyResolver
の containsProperty
@Nullable public java.lang.String getProperty(java.lang.String key)
PropertyResolver
null
を返します。PropertyResolver
の getProperty
key
- 解決するプロパティ名 PropertyResolver.getProperty(String, String)
, PropertyResolver.getProperty(String, Class)
, PropertyResolver.getRequiredProperty(String)
public java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
PropertyResolver
defaultValue
を返します。PropertyResolver
の getProperty
key
- 解決するプロパティ名 defaultValue
- 値が見つからない場合に返すデフォルト値 PropertyResolver.getRequiredProperty(String)
, PropertyResolver.getProperty(String, Class)
@Nullable public <T> T getProperty(java.lang.String key, java.lang.Class<T> targetType)
PropertyResolver
null
を返します。PropertyResolver
の getProperty
key
- 解決するプロパティ名 targetType
- プロパティ値の予想される型 PropertyResolver.getRequiredProperty(String, Class)
public <T> T getProperty(java.lang.String key, java.lang.Class<T> targetType, T defaultValue)
PropertyResolver
defaultValue
を返します。PropertyResolver
の getProperty
key
- 解決するプロパティ名 targetType
- プロパティ値の予想される型 defaultValue
- 値が見つからない場合に返すデフォルト値 PropertyResolver.getRequiredProperty(String, Class)
public java.lang.String getRequiredProperty(java.lang.String key) throws java.lang.IllegalStateException
PropertyResolver
null
はありません)。PropertyResolver
の getRequiredProperty
java.lang.IllegalStateException
- キーを解決できない場合 PropertyResolver.getRequiredProperty(String, Class)
public <T> T getRequiredProperty(java.lang.String key, java.lang.Class<T> targetType) throws java.lang.IllegalStateException
PropertyResolver
null
ではない) に変換して返します。PropertyResolver
の getRequiredProperty
java.lang.IllegalStateException
- 指定されたキーを解決できない場合 public java.lang.String resolvePlaceholders(java.lang.String text)
PropertyResolver
PropertyResolver.getProperty(java.lang.String)
によって解決された対応するプロパティ値に置き換えます。デフォルト値のない解決できないプレースホルダーは無視され、変更されずに渡されます。PropertyResolver
の resolvePlaceholders
text
- 解決する文字列 null
)PropertyResolver.resolveRequiredPlaceholders(java.lang.String)
, SystemPropertyUtils.resolvePlaceholders(String)
public java.lang.String resolveRequiredPlaceholders(java.lang.String text) throws java.lang.IllegalArgumentException
PropertyResolver
PropertyResolver.getProperty(java.lang.String)
によって解決された対応するプロパティ値に置き換えます。デフォルト値のない解決できないプレースホルダーは、IllegalArgumentException をスローします。PropertyResolver
の resolveRequiredPlaceholders
null
)java.lang.IllegalArgumentException
- 指定されたテキストが null
である場合、または解決できないプレースホルダーがある場合 SystemPropertyUtils.resolvePlaceholders(String, boolean)
public java.lang.String toString()
java.lang.Object
の toString