SpringBoot 动态调用方法
时间: 2023-08-23 16:28:15 浏览: 164
SpringBoot 动态定时器的使用方法
在 SpringBoot 中,可以通过反射机制实现动态调用方法。具体步骤如下:
1. 获取需要调用的方法的类对象,可以使用 Class.forName() 方法或者直接使用类名.class。
2. 获取方法对象,可以使用 getMethod() 或 getDeclaredMethod() 方法。其中 getMethod() 可以获取公共方法,而 getDeclaredMethod() 可以获取私有方法。
3. 设置方法的访问权限,如果需要调用私有方法,则需要使用 setAccessible() 方法将方法设置为可访问。
4. 调用方法,可以使用 invoke() 方法。需要传入方法所属对象的实例和方法的参数。
下面是一个简单的示例代码:
```
Class<?> clazz = Class.forName("com.example.demo.ServiceClass");
Object obj = clazz.newInstance();
Method method = clazz.getDeclaredMethod("methodName", param1.class, param2.class);
method.setAccessible(true);
Object result = method.invoke(obj, arg1, arg2);
```
其中,ServiceClass 是需要调用方法的类,methodName 是方法名,param1 和 param2 是方法的参数类型,arg1 和 arg2 是方法的参数。调用结果会保存在 result 变量中。
阅读全文