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

Expresiones SPEL de Spring

SpEL Es un lenguaje de extensión que admite la capacidad de consultar y operar en el diagrama de objetos en tiempo de ejecución.

Hay muchos lenguajes de expresión disponibles, como JSP EL, OGNL, MVEL y JBoss EL. SpEL proporciona algunas otras funciones, como llamadas a métodos y funciones de plantillas de cadenas.

SpEL API

SpEL API proporciona muchas interfaces y clases. Son las siguientes:

Interfaz Expression Clase SpelExpression Interfaz ExpressionParser Clase SpelExpressionParser Interfaz EvaluationContext Clase StandardEvaluationContext

Ejemplo 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);
//OR
//System.out.println(parser.parseExpression("'Hello SPEL'").getValue());
}
}

Otros ejemplos de SPEL

Veamos muchos ejemplos útiles de SPEL. Aquí, suponemos que todos los ejemplos están escritos dentro del método main().

Utilizar el método concat() junto con String

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

Convertir una cadena a un 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]+" ");
}

Convertir la cadena en bytes y obtener la longitud

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

Convertir el contenido de la cadena en mayúsculas

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