java在語言的動態性方便不是很靈活,如果你想快速增加或改變一些方法,那么只能通過反射機制,並且參數傳遞的格式很嚴格。
相比之下,基於groovy可以快速寫出一些自定義方法,並能和java很好結合,類似javascript在java中應用。
環境:
導入groovy-all-2.1.6.jar
maven:
<dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.6</version> </dependency>
編寫自定義的方法
class Java2Script extends Script{ public static String getString(String string){ return string; } public static int getInt(){ return 1; } @Override public Object run() { return null; } public static void main(String[] args){ CompilerConfiguration cfg = new CompilerConfiguration(); cfg.setScriptBaseClass(Java2Script.class.getName()); GroovyShell shell = new GroovyShell(cfg); Script script = shell.parse("getString(\"hello world\")"); System.out.println(script.run()); } }
這樣就非常方便,可以任意寫一些自定義方法,然后調用的時候通過字符串的方式調用,並且可以傳遞一些基礎類型參數。
// groovy語言在java中的其他嵌入用法
http://shift-alt-ctrl.iteye.com/blog/1938238