MethodParameter这个类用于方法参数的抽象,例如下面这个方法,我们就可以说test方法包含了3个MethodParameter实例,一个是入参aa,一个是入参bb,还有一个是String类型的返回值
public class AController {public String test(int aa, String bb){return aa + "_" + bb;}
}
如果想创建int a对应的MethodParameter,则应该像下面这样写
public static void main(String[] args) throws Exception {Method method = AController.class.getMethod("test", int.class, String.class);MethodParameter mp = new MethodParameter(method,0);// 此处随便设置一个ParameterNameDiscovery,这样getParameterName的时候能得到正确的name// 可参考源码,它判断了一下这个discovery是不是null,如果不是null,才通过反射取namemp.initParameterNameDiscovery(new DefaultParameterNameDiscoverer());System.out.println(mp.getParameterName());
}
本文就到这里,比较简单,主要是阐述MethodParameter这个类它代表的是什么,在spring core的模块中,比较常用,尤其是在spring web中,解析controller参数的时候,更常用了