protected ParamInjector paramNameInject(Method method, int index) {
        if (!Lang.isAndroid) {
            String paramName = getParamRealName(index);
            if (paramName != null) {
                Class<?> type = argTypes[index];
                if (type.isArray()) {
                    return new ArrayInjector(paramName,
                            null,
                            type,
                            null,
                            null,
                            true);
                }
                if (Modifier.isInterface(type.getModifiers()))
                    return new VoidInjector();
                return new NameInjector(paramName,
                        null,
                        argTypes[index],
                        null, null);
            }
            else if (log.isInfoEnabled())
                log.infof("Complie without debug info? can't deduce param name. fail back to PathArgInjector!! index=%d > %s",
                          index,
                          method);
    	}

        return new PathArgInjector(method.getParameterTypes()[index]);
    }
protected ParamInjector paramNameInject(Method method, int index) {
        if (!Lang.isAndroid) {
            String paramName = getParamRealName(index);
            if (paramName != null) {
                Class<?> type = argTypes[index];
                if (type.isArray()) {
                    return new ArrayInjector(paramName,
                            null,
                            type,
                            null,
                            null,
                            true);
                }
                if (Modifier.isInterface(type.getModifiers()))
                    return new VoidInjector();
                return new NameInjector(paramName,
                        null,
                        argTypes[index],
                        null, null);
            }
            else if (log.isInfoEnabled())
                log.infof("Complie without debug info? can't deduce param name. fail back to PathArgInjector!! index=%d > %s",
                          index,
                          method);
    	}

        return new PathArgInjector(method.getParameterTypes()[index]);
    }
protected ParamInjector paramNameInject ( Method method , int index ) { if ( ! Lang . isAndroid ) { String paramName = getParamRealName ( index ) ; if ( paramName != null ) { Class < ? > type = argTypes [ index ] ; if ( type . isArray ( ) ) { return new ArrayInjector ( paramName , null , type , null , null , true ) ; } if ( Modifier . isInterface ( type . getModifiers ( ) ) ) return new VoidInjector ( ) ; return new NameInjector ( paramName , null , argTypes [ index ] , null , null ) ; } else if ( log . isInfoEnabled ( ) ) log . infof ( "Complie without debug info? can't deduce param name. fail back to PathArgInjector!! index=%d > %s" , index , method ) ; } return new PathArgInjector ( method . getParameterTypes ( ) [ index ] ) ; }
这是最后的大招了,查一下形参的名字,作为@Param("形参名")进行处理
这是最后的大招了 查一下形参的名字 作为