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);
	}
posted @ 2022-07-26 15:11  度一川  阅读(1397)  评论(0)    收藏  举报