Java實現字符串轉換成可執(zhí)行代碼的方法
更新時間:2018年07月18日 09:05:22 作者:一縷陽光直射你的心扉
今天小編就為大家分享一篇Java實現字符串轉換成可執(zhí)行代碼的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
使用commons的jexl可實現將字符串變成可執(zhí)行代碼的功能,我寫了一個類來封裝這個功能:
import java.util.Map;
import org.apache.commons.jexl2.Expression;
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
/**
* 動態(tài)加載方法
*
*/
public class DyMethodUtil {
public static Object invokeMethod(String jexlExp,Map<String,Object> map){
JexlEngine jexl=new JexlEngine();
Expression e = jexl.createExpression(jexlExp);
JexlContext jc = new MapContext();
for(String key:map.keySet()){
jc.set(key, map.get(key));
}
if(null==e.evaluate(jc)){
return "";
}
return e.evaluate(jc);
}
}
調用
Map<String,Object> map=new HashMap<String,Object>();
map.put("testService",testService);
map.put("person",person);
String expression="testService.save(person)";
DyMethodUtil.invokeMethod(expression,map);
以上這篇Java實現字符串轉換成可執(zhí)行代碼的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot?AOP中JoinPoint的使用方式和通知切點表達式
這篇文章主要介紹了SpringBoot?AOP中JoinPoint的使用方式和通知切點表達式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
基于Springboot商品進銷存管理系統(tǒng)的設計與實現
本項目基于springboot實現一個進銷存管理系統(tǒng),主要用戶開設網店的相關商品的進貨、銷售、庫存的管理,功能比較完整,需要的可以參考一下2022-08-08
淺析Java ClassName.this中類名.this關鍵字的理解
Java ClassName.this中類名.this關鍵字 的理解大家都了解多少,有不太了解的朋友可以參考下本文一起學習學習2016-05-05

