精通Spring+4.x++企業開發與實踐之SpEL

java支持動態語言javascript

例子:javascript

ScriptEngineManager manager = **new** ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(**"JavaScript"**);
String scriptText = **"function sum(a,b) {return a+b}"**;
註冊JavaScript求和函數腳本_ engine.eval(scriptText);
Invocable invocable = (Invocable)engine;
調用註冊的javascript執行腳本_ Object result = invocable.invokeFunction(**"sum"**,100,201);
System._out_.println(**"sum:"**+result);

雖然JVM支持不少腳本語言(javaScript,Jruby,jython等),可是都是須要相應的封裝才能使用,想的比較笨重,所以SpEL就有了它發揮的餘地。java

SpEL的概述

SpEL表達式語言相似EL表達式,和其餘的表達式相比,具備更加簡潔,靈活的特色。SpEL不依賴Spring框架,能夠獨立使用,可是在基於Spring框架的基礎上能夠更好的使用。SpEL抽象了一個通用的表達式操做API,所以能夠很好的於其餘動態語言進行集成spring

要使用SpEL就須要導入依賴express

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${expression.version}</version>
		</dependency>

例子:ruby

ExpressionParser parser = new SpelExpressionParser();
		Expression exp = parser.parseExpression("'hello'+' world'");
		String message = (String)exp.getValue();
		System.out.println(message);

執行結果是: hello world框架

相關文章
相關標籤/搜索