import org.springframework.core.LocalVariableTableParameterNameDiscoverer publicclass Test{ privatestaticfinal LocalVariableTableParameterNameDiscoverer parameterNameDiscoverer = new LocalVariableTableParameterNameDiscoverer(); /** * 获取方法所有参数名 * @param method * @return */ publicstatic String[] getParameterNames(Method method) { return parameterNameDiscoverer.getParameterNames(method); } publicstaticvoidmain(String[] args) throws ClassNotFoundException { Class<?> aClass = Class.forName("com.codercool.ssm.modules.system.service.impl.UserServiceImpl"); Method[] methods = aClass.getMethods(); StringBuilder sb = new StringBuilder(); for (Method method : methods) { sb.append("方法:"+method.getName() + " "); String[] parameterNames = getParameterNames(method); if (parameterNames == null || parameterNames.length <1) { sb.append("无参"); } else { sb.append("["); for (int i = 0; i < parameterNames.length ; i++) { sb.append(parameterNames[i]); sb.append(","); } sb.append("]"); } sb.append("\n"); } System.out.println(sb.toString()); } } publicclass UserServiceImpl implements IUserService { @Autowired private UserDao userDao; publicvoidaddUser(String userId,User user) { userDao.add(user); } }
输出结果:
方法:addUser [userId,user,]
方法:wait 无参
方法:wait 无参
方法:wait 无参
方法:equals 无参
方法:toString 无参
方法:hashCode 无参
方法:getClass 无参
方法:notify 无参
方法:notifyAll 无参
扩展信息:
Spring此功能是基于ASM框架实现
输出结果:
方法:addUser [userId,user,]
方法:wait 无参
方法:wait 无参
方法:wait 无参
方法:equals 无参
方法:toString 无参
方法:hashCode 无参
方法:getClass 无参
方法:notify 无参
方法:notifyAll 无参
扩展信息:
Spring此功能是基于ASM框架实现