public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExceptionResolver implements ApplicationContextAware, InitializingBean
@ExceptionHandler
メソッドにより例外を解決する AbstractHandlerMethodExceptionResolver
。setCustomArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
および setCustomReturnValueHandlers(java.util.List<org.springframework.web.method.support.HandlerMethodReturnValueHandler>)
を介して、カスタム引数および戻り値型のサポートを追加できます。または、すべての引数と戻り値の型を再設定するには、setArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
と setReturnValueHandlers(List)
を使用します。
logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
ExceptionHandlerExceptionResolver() |
doResolveException, shouldApplyTo
buildLogMessage, getOrder, logException, prepareResponse, preventCaching, resolveException, setMappedHandlerClasses, setMappedHandlers, setOrder, setPreventResponseCaching, setWarnLogCategory
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setCustomArgumentResolvers(@Nullable ListSE<HandlerMethodArgumentResolver> argumentResolvers)
setArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
を使用します。@Nullable public ListSE<HandlerMethodArgumentResolver> getCustomArgumentResolvers()
null
を返します。public void setArgumentResolvers(@Nullable ListSE<HandlerMethodArgumentResolver> argumentResolvers)
@Nullable public HandlerMethodArgumentResolverComposite getArgumentResolvers()
afterPropertiesSet()
を介してまだ初期化されていない場合は、null
を返します。public void setCustomReturnValueHandlers(@Nullable ListSE<HandlerMethodReturnValueHandler> returnValueHandlers)
setReturnValueHandlers(java.util.List<org.springframework.web.method.support.HandlerMethodReturnValueHandler>)
を使用します。@Nullable public ListSE<HandlerMethodReturnValueHandler> getCustomReturnValueHandlers()
null
を返します。public void setReturnValueHandlers(@Nullable ListSE<HandlerMethodReturnValueHandler> returnValueHandlers)
@Nullable public HandlerMethodReturnValueHandlerComposite getReturnValueHandlers()
afterPropertiesSet()
を介してまだ初期化されていない場合は null
を返します。public void setMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
これらのコンバーターは、HTTP リクエストとレスポンスの変換に使用されます。
public ListSE<HttpMessageConverter<?>> getMessageConverters()
public void setContentNegotiationManager(ContentNegotiationManager contentNegotiationManager)
ContentNegotiationManager
を設定します。設定されていない場合、デフォルトのコンストラクターが使用されます。public ContentNegotiationManager getContentNegotiationManager()
ContentNegotiationManager
を返します。public void setResponseBodyAdvice(@Nullable ListSE<ResponseBodyAdvice<?>> responseBodyAdvice)
@ResponseBody
アノテーションが付けられたコントローラーメソッドの実行後、または ResponseEntity
を返した後、選択された HttpMessageConverter
でレスポンスにボディが書き込まれる前に呼び出される 1 つ以上のコンポーネントを追加します。public void setApplicationContext(@Nullable ApplicationContext applicationContext)
ApplicationContextAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
および MessageSourceAware
の後に呼び出されます(該当する場合)。
ApplicationContextAware
の setApplicationContext
applicationContext
- このオブジェクトによって使用される ApplicationContext オブジェクト BeanInitializationException
@Nullable public ApplicationContext getApplicationContext()
public void afterPropertiesSet()
InitializingBean
BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含 BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean
の afterPropertiesSet
public MapSE<ControllerAdviceBean,ExceptionHandlerMethodResolver> getExceptionHandlerAdviceCache()
@ControllerAdvice
Bean を含む変更不可能なマップを返します。Bean が afterPropertiesSet()
で初期化される前にメソッドが呼び出されると、返されるマップは空になります。protected ListSE<HandlerMethodArgumentResolver> getDefaultArgumentResolvers()
setCustomArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
を介して提供される組み込みリゾルバーとカスタムリゾルバーを含む、使用する引数リゾルバーのリストを返します。protected ListSE<HandlerMethodReturnValueHandler> getDefaultReturnValueHandlers()
setReturnValueHandlers(java.util.List<org.springframework.web.method.support.HandlerMethodReturnValueHandler>)
を介して提供される組み込みおよびカスタムハンドラーを含む、使用する戻り値ハンドラーのリストを返します。@Nullable protected ModelAndView doResolveHandlerMethodException(HttpServletRequestEE request, HttpServletResponseEE response, @Nullable HandlerMethod handlerMethod, ExceptionSE exception)
@ExceptionHandler
メソッドを見つけて呼び出し、発生した例外を処理します。AbstractHandlerMethodExceptionResolver
の doResolveHandlerMethodException
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handlerMethod
- 実行されたハンドラーメソッド、または例外時に何も選択されなかった場合は null
(たとえば、マルチパート解決が失敗した場合)exception
- ハンドラーの実行中にスローされた例外 null
@Nullable protected ServletInvocableHandlerMethod getExceptionHandlerMethod(@Nullable HandlerMethod handlerMethod, ExceptionSE exception)
@ExceptionHandler
メソッドを見つけます。デフォルトの実装では、最初にコントローラーのクラス階層でメソッドを検索し、見つからない場合は、@ControllerAdvice Spring 管理 Bean が検出されたと仮定して、追加の @ExceptionHandler
メソッドの検索を続けます。handlerMethod
- 例外が発生したメソッド (null
の場合があります)exception
- 発生した例外 null