@@ -141,9 +141,9 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
141
141
142
142
private Long asyncRequestTimeout ;
143
143
144
- private CallableProcessingInterceptor [] callableInterceptors = new CallableProcessingInterceptor [] {} ;
144
+ private CallableProcessingInterceptor [] callableInterceptors = new CallableProcessingInterceptor [0 ] ;
145
145
146
- private DeferredResultProcessingInterceptor [] deferredResultInterceptors = new DeferredResultProcessingInterceptor [] {} ;
146
+ private DeferredResultProcessingInterceptor [] deferredResultInterceptors = new DeferredResultProcessingInterceptor [0 ] ;
147
147
148
148
private boolean ignoreDefaultModelOnRedirect = false ;
149
149
@@ -172,21 +172,18 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
172
172
new LinkedHashMap <ControllerAdviceBean , Set <Method >>();
173
173
174
174
175
- /**
176
- * Default constructor.
177
- */
178
175
public RequestMappingHandlerAdapter () {
179
-
180
176
StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter ();
181
- stringHttpMessageConverter .setWriteAcceptCharset (false ); // See SPR-7316
177
+ stringHttpMessageConverter .setWriteAcceptCharset (false ); // see SPR-7316
182
178
183
- this .messageConverters = new ArrayList <HttpMessageConverter <?>>();
179
+ this .messageConverters = new ArrayList <HttpMessageConverter <?>>(4 );
184
180
this .messageConverters .add (new ByteArrayHttpMessageConverter ());
185
181
this .messageConverters .add (stringHttpMessageConverter );
186
182
this .messageConverters .add (new SourceHttpMessageConverter <Source >());
187
183
this .messageConverters .add (new AllEncompassingFormHttpMessageConverter ());
188
184
}
189
185
186
+
190
187
/**
191
188
* Provide resolvers for custom argument types. Custom resolvers are ordered
192
189
* after built-in ones. To override the built-in support for argument
@@ -330,7 +327,7 @@ public void setMessageConverters(List<HttpMessageConverter<?>> messageConverters
330
327
* Return the configured message body converters.
331
328
*/
332
329
public List <HttpMessageConverter <?>> getMessageConverters () {
333
- return messageConverters ;
330
+ return this . messageConverters ;
334
331
}
335
332
336
333
/**
@@ -355,10 +352,10 @@ public void setWebBindingInitializer(WebBindingInitializer webBindingInitializer
355
352
}
356
353
357
354
/**
358
- * Return the configured WebBindingInitializer, or {@code null}.
355
+ * Return the configured WebBindingInitializer, or {@code null} if none .
359
356
*/
360
357
public WebBindingInitializer getWebBindingInitializer () {
361
- return webBindingInitializer ;
358
+ return this . webBindingInitializer ;
362
359
}
363
360
364
361
/**
@@ -477,9 +474,8 @@ public void setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDisc
477
474
}
478
475
479
476
/**
480
- * {@inheritDoc}
481
- * <p>A {@link ConfigurableBeanFactory} is expected for resolving
482
- * expressions in method argument default values.
477
+ * A {@link ConfigurableBeanFactory} is expected for resolving expressions
478
+ * in method argument default values.
483
479
*/
484
480
@ Override
485
481
public void setBeanFactory (BeanFactory beanFactory ) {
@@ -489,15 +485,15 @@ public void setBeanFactory(BeanFactory beanFactory) {
489
485
}
490
486
491
487
/**
492
- * Return the owning factory of this bean instance, or {@code null}.
488
+ * Return the owning factory of this bean instance, or {@code null} if none .
493
489
*/
494
490
protected ConfigurableBeanFactory getBeanFactory () {
495
491
return this .beanFactory ;
496
492
}
497
493
494
+
498
495
@ Override
499
496
public void afterPropertiesSet () {
500
-
501
497
// Do this first, it may add ResponseBody advice beans
502
498
initControllerAdviceCache ();
503
499
@@ -670,6 +666,7 @@ private List<HandlerMethodReturnValueHandler> getDefaultReturnValueHandlers() {
670
666
return handlers ;
671
667
}
672
668
669
+
673
670
/**
674
671
* Always return {@code true} since any method argument and return value
675
672
* type will be processed in some way. A method argument not recognized
@@ -683,19 +680,8 @@ protected boolean supportsInternal(HandlerMethod handlerMethod) {
683
680
return true ;
684
681
}
685
682
686
- /**
687
- * This implementation always returns -1. An {@code @RequestMapping}
688
- * method can calculate the lastModified value, call
689
- * {@link WebRequest#checkNotModified(long)}, and return {@code null}
690
- * if the result of that call is {@code true}.
691
- */
692
- @ Override
693
- protected long getLastModifiedInternal (HttpServletRequest request , HandlerMethod handlerMethod ) {
694
- return -1 ;
695
- }
696
-
697
683
@ Override
698
- protected final ModelAndView handleInternal (HttpServletRequest request ,
684
+ protected ModelAndView handleInternal (HttpServletRequest request ,
699
685
HttpServletResponse response , HandlerMethod handlerMethod ) throws Exception {
700
686
701
687
if (getSessionAttributesHandler (handlerMethod ).hasSessionAttributes ()) {
@@ -722,8 +708,19 @@ protected final ModelAndView handleInternal(HttpServletRequest request,
722
708
}
723
709
724
710
/**
725
- * Return the {@link SessionAttributesHandler} instance for the given
726
- * handler type, never {@code null}.
711
+ * This implementation always returns -1. An {@code @RequestMapping} method can
712
+ * calculate the lastModified value, call {@link WebRequest#checkNotModified(long)},
713
+ * and return {@code null} if the result of that call is {@code true}.
714
+ */
715
+ @ Override
716
+ protected long getLastModifiedInternal (HttpServletRequest request , HandlerMethod handlerMethod ) {
717
+ return -1 ;
718
+ }
719
+
720
+
721
+ /**
722
+ * Return the {@link SessionAttributesHandler} instance for the given handler type
723
+ * (never {@code null}).
727
724
*/
728
725
private SessionAttributesHandler getSessionAttributesHandler (HandlerMethod handlerMethod ) {
729
726
Class <?> handlerType = handlerMethod .getBeanType ();
0 commit comments