zoukankan      html  css  js  c++  java
  • Java获取方法参数名、Spring SpEL解析

    @Test
    public void testParse() {
        //表达式解析
        ExpressionParser expressionParser = new SpelExpressionParser();
        Expression expression = expressionParser.parseExpression("#itemId");
        EvaluationContext context = new StandardEvaluationContext();
        context.setVariable("itemId", "100");
        log.info("[SpELTest - testParse ] {} ", expression.getValue(context));
        //获取方法参数名
        LocalVariableTableParameterNameDiscoverer discoverer = new LocalVariableTableParameterNameDiscoverer();
        for (Method method : new StringUtils().getClass().getDeclaredMethods()) {
            for (String s : discoverer.getParameterNames(method)) {
                System.out.print("parm: "+s+"  ");
            }
            System.out.println("methodName:  "+method.getName());
        }
    }
    

    org.springframework.core.LocalVariableTableParameterNameDiscoverer也是Spring解析Controller方法参数使用的类,原理就是读取class字节码,解析其中中的LocalVariableTable,得到方法的参数名称。
    注:如果是动态代理出来的类,是拿不到方法参数名的

  • 相关阅读:
    皇帝的用人之道,这一点古今皆同
    sharepoint打包
    powershellbegin
    taxonomy
    powershelluninstall webapplication
    面试题
    字符串处理
    在页面中插入视频时的文件夹命名问题
    process object
    扩展名显示与隐藏
  • 原文地址:https://www.cnblogs.com/yissheng/p/5630653.html
Copyright © 2011-2022 走看看