Consistently use DefaultParameterNameDiscoverer.getSharedInstance()

This includes MethodParameter resolving getParameterName() by default now.
initParameterNameDiscovery(null) can be used to suppress such resolution.

Closes gh-36024
This commit is contained in:
Juergen Hoeller
2025-12-17 13:39:02 +01:00
parent ec6b7730a2
commit c813577908
19 changed files with 61 additions and 41 deletions
@@ -29,7 +29,6 @@ import org.jspecify.annotations.Nullable;
import org.springframework.aop.ProxyMethodInvocation;
import org.springframework.core.DefaultParameterNameDiscoverer;
import org.springframework.core.ParameterNameDiscoverer;
import org.springframework.util.Assert;
/**
@@ -51,8 +50,6 @@ import org.springframework.util.Assert;
*/
public class MethodInvocationProceedingJoinPoint implements ProceedingJoinPoint, JoinPoint.StaticPart {
private static final ParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();
private final ProxyMethodInvocation methodInvocation;
private @Nullable Object @Nullable [] args;
@@ -217,7 +214,7 @@ public class MethodInvocationProceedingJoinPoint implements ProceedingJoinPoint,
public @Nullable String @Nullable [] getParameterNames() {
@Nullable String[] parameterNames = this.parameterNames;
if (parameterNames == null) {
parameterNames = parameterNameDiscoverer.getParameterNames(getMethod());
parameterNames = DefaultParameterNameDiscoverer.getSharedInstance().getParameterNames(getMethod());
this.parameterNames = parameterNames;
}
return parameterNames;