2024年6月11日发(作者:)

spring3.0学习笔记二---SpEL表达式1

相对来讲, java是一门静态语言。而我们今天要讲的是一门动态“语言”---SpEL。

动态语言和静态语言的最显著差别在于,举个例子," 'Hello'.toUperCase()"这只是一个普通的字符串,

差别在于能否把它编译和运行起来得到结果。就是说动态语言能把一个字符串解释成程序语句。如果还

不是很明白的话没关系,看下面的SpEL例子。(接下去的我就用例子来做介绍了)

public void testSpEL1() {

//ExpressionParser是Spring3里的一个包,用来动态解释一个字符串。

ExpressionParser parser = new SpelExpressionParser();

Expression exp = xpression(" 'Hello,World' ");

n((String)ue());

}

这里'Hello,World' 是一个字符串,解释起来还是一个字符串,所以打印结果是:Hello,World

第二个例子:调用方法

public void testSpEL2() {

ExpressionParser parser = new SpelExpressionParser();

Expression exp=xpression(" 'Hello'.concat(' World!')"); //这里调用了字符串String的concat

方法

//Expression exp=xpression("newString('helloworld').toUpperCase()");

Stringmessage=(String)ue();

}

第三个例子:调用属性

ExpressionParser parser= new SpelExpressionParser();

Expression exp=xpression("'HelloWorld'.bytes"); //得到字符串的byte

//Expression exp=xpression("'HelloWorld'."); //得到属性的属性

byte [] bytes=(byte[])ue();