これはSpring3.1のコード例です。SpringSourceBlog:XMLから@Configurationまでアプリケーションに実装しようとしています(これは私ではなくSpring 2.0で行われたため、多くの学習が必要です)。
@FeatureConfiguration
class MvcFeatures {
@Feature
public MvcAnnotationDriven annotationDriven(ConversionService conversionService) {
return new MvcAnnotationDriven().conversionService(conversionService)
.argumentResolvers(new CustomArgumentResolver());
}
// ...
}
ただし、.argumentResolvers(new CustomArgumentResolver())のポイントが理解できず、CustomArgumentResolverは次のようになります。それのポイントは何ですか?
public class CustomArgumentResolver implements WebArgumentResolver {
@Override
public Object resolveArgument(MethodParameter param, NativeWebRequest request) throws Exception {
RequestAttribute attr = param.getParameterAnnotation(RequestAttribute.class);
if (attr != null) {
return request.getAttribute(attr.value(), WebRequest.SCOPE_REQUEST);
} else {
return WebArgumentResolver.UNRESOLVED;
}
}
}