Java實現(xiàn)字符串轉換成可執(zhí)行代碼的方法
更新時間:2018年07月18日 09:05:22 作者:一縷陽光直射你的心扉
今天小編就為大家分享一篇Java實現(xiàn)字符串轉換成可執(zhí)行代碼的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
使用commons的jexl可實現(xiàn)將字符串變成可執(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); } }
調(diào)用
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實現(xiàn)字符串轉換成可執(zhí)行代碼的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot?AOP中JoinPoint的使用方式和通知切點表達式
這篇文章主要介紹了SpringBoot?AOP中JoinPoint的使用方式和通知切點表達式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05基于Springboot商品進銷存管理系統(tǒng)的設計與實現(xiàn)
本項目基于springboot實現(xiàn)一個進銷存管理系統(tǒng),主要用戶開設網(wǎng)店的相關商品的進貨、銷售、庫存的管理,功能比較完整,需要的可以參考一下2022-08-08淺析Java ClassName.this中類名.this關鍵字的理解
Java ClassName.this中類名.this關鍵字 的理解大家都了解多少,有不太了解的朋友可以參考下本文一起學習學習2016-05-05