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