读书人

Spring3.0新特性(4)

发布时间: 2012-09-22 21:54:54 作者: rapoo

Spring3.0新特性(四)
4、SpELTest_Simple(spring express language spring3.0新增)

首先说一下动态语言:
简而言之就是语言中包含语言,比如:JavaScript里面的 eval("alert('hello');"); ,这是一个典型的动态语言。同理Java动态语言也一样。

@Testpublic void test01() {ExpressionParser parser = new SpelExpressionParser(); //语言解析器Expression exp = parser.parseExpression("'Hello,World'"); //里面不是一个简单的字符串,而是按Java语法进行解析System.out.println((String)exp.getValue());}

下面是一个比较复杂的运用SpELTest_Simple的例子
@Testpublic void test02() {User u = new User();u.setUsername("zhangsan");EvaluationContext context = new StandardEvaluationContext(u);ExpressionParser parser = new SpelExpressionParser();Expression exp = parser.parseExpression("username"); //u.getUsername()System.out.println((String)exp.getValue(context));System.out.println((String)exp.getValue(u));}//"new HelloWorld().sayHello()" java不能不这个字符串当做Java语法进行解析//eval("alert('ok');"); JavaScript动态语言例子

读书人网 >软件架构设计

热点推荐