- 利用Groovy脚本将字符串文本转换成Class对象
- 获取Class对象中的方法
- 组装mvc请求映射信息RequestMappingInfo
- 动态将接口注入spring中
第一步:利用Groovy脚本将字符串文本转换成Class对象
利用Groovy脚本动态生成对象
1.引入Groovy maven依赖
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.7</version>
</dependency>
2.测试代码
import groovy.lang.GroovyClassLoader;
import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Method;
public class TestGroovy {
public static void main(String[] args) throws Exception {
//groovy提供了一种将字符串文本代码直接转换成Java Class对象的功能
GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
Class clazz = groovyClassLoader.parseClass("package com;\n" +
"\n" +
"public class Hello {\n" +
" \n" +
" public void sayHello(){\n" +
" System.out.println(\"hello\");\n" +
" }\n" +
"}");
// 创建对象
Object obj = clazz.newInstance();
// 获取方法
Method method = clazz.getDeclaredMethod("sayHello");
// 调用方法
method.invoke(obj);
}
}
执行结果为:
hello
Process finished w