AviatorScript 调用实例化的对象的方法简单示例
AviatorScript 是一个强大的java脚本引擎与配置中心相结合,非常适合代码需要经常改变的场景。在这里我简单写一个例子传递对象和调用对象的方法的使用。
调用普通对象的方法
普通对象
@Getter
@Setter
@Component
public class TestBean {
@Value("jeffery")
private String name = "A";
@Value("man")
private String sex = "B";
public void print(){
System.out.println("name is:"+name);
System.out.println("sex is:"+sex);
}
}
av脚本
## example.av不需要其他操作
testBeanIns.print(testBean);
具体使用
@Autowired
TestBean testBean;
@Test
void testLoaderValue() throws IOException, IllegalAccessException, NoSuchMethodException {
AviatorEvaluator.addInstanceFunctions("testBeanIns", TestBean.class);
Expression exp = AviatorEvaluator.getInstance().compileScript("example.av", true);
Map<String, Object> env = new HashMap<String, Object>();
env.put("testBean", testBean);
exp.execute(env);
}
浙公网安备 33010602011771号