上一篇講到的是對運作環境的擴充:
這一篇主要的目标是把
***************************************************
執行的腳本:orderService.orderPay(id);
***************************************************
腳本換成 更容易明白的腳本:
***************************************************
執行的腳本: 支付訂單(id)
***************************************************
改造部分如下:
為此我們修改下商品的類:
private void initRunner(ExpressRunner runner)
{
if(isInitialRunner == true){
return ;
}
synchronized (runner) {
if(isInitialRunner == true){
return ;
}
try {
//在此可以加入預定義函數
//bean方法
runner.addFunctionOfServiceMethod("支付訂單",applicationContext.getBean("orderService"), "orderPay", new Class[] {Long.class}, null);
} catch (Exception e) {
throw new RuntimeException("初始化失敗表達式",e);
}
}
isInitialRunner = true;
}
好,大功告成。ExpressRunner此外還提供了非常多的擴充接口,用于腳本語言的抽象,這個也是這個語言的獨到之處,精華所在。
請參考: http://code.taobao.org/p/QLExpress/wiki/index/ ,下篇會隆重介紹這些接口的擴充。