クラス AbstractNamedValueMethodArgumentResolver
java.lang.ObjectSE
org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver
- 実装されたすべてのインターフェース:
HandlerMethodArgumentResolver
public abstract class AbstractNamedValueMethodArgumentResolver
extends ObjectSE
implements HandlerMethodArgumentResolver
名前付きの値からメソッド引数を解決するための抽象基本クラス。メッセージヘッダーまたは宛先変数。名前付き値には、1 つ以上の名前、必須フラグ、デフォルト値を含めることができます。
サブクラスは、メソッドパラメーターから名前付き値の詳細を取得する方法、引数値に解決する方法、欠落している値を処理する方法など、特定の手順を定義するだけで済みます。
デフォルト値の文字列には、${...} プレースホルダーと Spring 式言語 #{...}
式を含めることができます。これらは、ConfigurableBeanFactory
がクラスコンストラクターに提供された場合に解決されます。
ConversionService
は、解決された文字列引数値を予期されるターゲットメソッドパラメーター型に変換するために使用されます。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
ネストされたクラスのサマリー
修飾子と型クラス説明protected static class
名前付き値の宣言を表します。コンストラクターのサマリー
修飾子コンストラクター説明protected
AbstractNamedValueMethodArgumentResolver
(ConversionService conversionService, ConfigurableBeanFactory beanFactory) ConversionService
およびBeanFactory
を持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo
createNamedValueInfo
(MethodParameter parameter) 指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。protected abstract void
handleMissingValue
(StringSE name, MethodParameter parameter, Message<?> message) 値が必要なときに呼び出されますが、resolveArgumentInternal(org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>, java.lang.String)
はnull
を返し、デフォルト値はありません。protected void
handleResolvedValue
(ObjectSE arg, StringSE name, MethodParameter parameter, Message<?> message) 値が解決された後に呼び出されます。resolveArgument
(MethodParameter parameter, Message<?> message) メソッドパラメーターを特定のメッセージの引数値に解決します。protected abstract ObjectSE
resolveArgumentInternal
(MethodParameter parameter, Message<?> message, StringSE name) 指定されたパラメーターの型と値の名前を引数値に解決します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver から継承されたメソッド
supportsParameter
コンストラクターの詳細
AbstractNamedValueMethodArgumentResolver
protected AbstractNamedValueMethodArgumentResolver(ConversionService conversionService, @Nullable ConfigurableBeanFactory beanFactory) ConversionService
およびBeanFactory
を持つコンストラクター。- パラメーター:
conversionService
- 文字列値をターゲットメソッドパラメーター型に変換するための変換サービスbeanFactory
-${...}
プレースホルダーと#{...}
SpEL 式をデフォルト値で解決するための Bean ファクトリ
メソッドの詳細
resolveArgument
@Nullable public ObjectSE resolveArgument(MethodParameter parameter, Message<?> message) throws ExceptionSE インターフェースからコピーされた説明:HandlerMethodArgumentResolver
メソッドパラメーターを特定のメッセージの引数値に解決します。- 次で指定:
- インターフェース
HandlerMethodArgumentResolver
のresolveArgument
- パラメーター:
parameter
- 解決するメソッドパラメーター。このパラメーターは、true
を返さなければならないHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
に事前に渡されている必要があります。message
- 現在処理されているメッセージ- 戻り値:
- 解決された引数値、または
null
- 例外:
ExceptionSE
- 引数値の準備でエラーが発生した場合
createNamedValueInfo
protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) 指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class)
を使用してメソッドアノテーションを取得します。- パラメーター:
parameter
- メソッドパラメーター- 戻り値:
- 名前付き値の情報
resolveArgumentInternal
@Nullable protected abstract ObjectSE resolveArgumentInternal(MethodParameter parameter, Message<?> message, StringSE name) throws ExceptionSE 指定されたパラメーターの型と値の名前を引数値に解決します。- パラメーター:
parameter
- 引数値に解決するメソッドパラメーターmessage
- 現在のリクエストname
- 解決される値の名前- 戻り値:
- 解決された引数。
null
の可能性があります - 例外:
ExceptionSE
- エラーの場合
handleMissingValue
protected abstract void handleMissingValue(StringSE name, MethodParameter parameter, Message<?> message) 値が必要な場合に呼び出されますが、resolveArgumentInternal(org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>, java.lang.String)
はnull
を返し、デフォルト値はありません。この場合、サブクラスは適切な例外をスローできます。- パラメーター:
name
- 値の名前parameter
- ターゲットメソッドのパラメーターmessage
- 処理中のメッセージ
handleResolvedValue
protected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, Message<?> message) 値が解決された後に呼び出されます。- パラメーター:
arg
- 解決された引数値name
- 引数名parameter
- 引数パラメーターの型message
- メッセージ