Rationalize hints required for annotations
This commit updates RuntimeHintsUtils to focus on registering a JDK proxy only as annotations of annotated elements that have at least an introspection hints are visible out-of-the-box. This commit also removes unnecessary hints and adapt `@Reflective` to detect if a hint is required using the introduced MergedAnnotation#isSynthesizable. See gh-28967
This commit is contained in:
@@ -36,15 +36,12 @@ public final class WebAnnotationsRuntimeHintsRegistrar implements RuntimeHintsRe
|
||||
@Override
|
||||
public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
|
||||
Stream.of(Controller.class, ControllerAdvice.class, CookieValue.class,
|
||||
CrossOrigin.class, DeleteMapping.class, ExceptionHandler.class,
|
||||
GetMapping.class, InitBinder.class, Mapping.class, MatrixVariable.class,
|
||||
ModelAttribute.class, PatchMapping.class, PathVariable.class,
|
||||
PostMapping.class, PutMapping.class, RequestAttribute.class,
|
||||
RequestBody.class, RequestHeader.class, RequestMapping.class,
|
||||
RequestParam.class, RequestPart.class, ResponseBody.class,
|
||||
ResponseStatus.class, RestController.class, RestControllerAdvice.class,
|
||||
SessionAttribute.class, SessionAttributes.class).forEach(
|
||||
annotationType -> RuntimeHintsUtils.registerAnnotation(hints, annotationType));
|
||||
CrossOrigin.class, MatrixVariable.class, ModelAttribute.class,
|
||||
PathVariable.class, RequestAttribute.class, RequestHeader.class,
|
||||
RequestMapping.class, RequestParam.class, RequestPart.class,
|
||||
ResponseStatus.class, SessionAttribute.class, SessionAttributes.class)
|
||||
.forEach(annotationType ->
|
||||
RuntimeHintsUtils.registerSynthesizedAnnotation(hints, annotationType));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user