English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Expressões SPEL do Spring

SpEL É uma linguagem de extensão que suporta a capacidade de consultar e operar o gráfico de objetos em tempo de execução.

Há muitos linguagens de expressão disponíveis, como JSP EL, OGNL, MVEL e JBoss EL. A SpEL oferece algumas outras funcionalidades, como chamadas de métodos e funcionalidades de template de string.

API SpEL

A API SpEL fornece muitos interfaces e classes. Eles são os seguintes:

Interface Expression Classe SpELExpression Interface ExpressionParser Classe SpelExpressionParser Interface EvaluationContext Classe StandardEvaluationContext

Exemplo de Hello SPEL

import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
public class Test {
public static void main(String[] args) {
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("'Hello SPEL'");
String message = (String) exp.getValue();
System.out.println(message);
//OU
//System.out.println(parser.parseExpression("'Hello SPEL'").getValue());
}
}

Outros exemplos de SPEL

Vamos ver muitos exemplos úteis de SPEL. Aqui, assumimos que todos os exemplos estão escritos dentro do método main().

Usar o método concat() com String

ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("'Welcome SPEL'.concat('!')");
String message = (String) exp.getValue();
System.out.println(message);

Converta stringa em um array de bytes

Expression exp = parser.parseExpression("'Hello World'.bytes");
byte[] bytes = (byte[]) exp.getValue();
for(int i=0;i<bytes.length;i++{
    System.out.print(bytes[i]+" ");
}

Converter a string para bytes e obter o comprimento

Expression exp = parser.parseExpression("'Hello World'.bytes.length");
int length = (Integer) exp.getValue();
System.out.println(length);

Converter o conteúdo da string para maiúsculas

Expression exp = parser.parseExpression("new String('hello world').toUpperCase()");
String message = exp.getValue(String.class);
System.out.println(message);
//OU
System.out.println(parser.parseExpression("'hello world'.toUpperCase()").getValue());