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

Expression SPEL Spring

SpEL C'est un langage étendu qui supporte les fonctionnalités de recherche et d'opération sur le graphique d'objets au moment de l'exécution.

Il y a de nombreux langages d'expression disponibles, tels que JSP EL, OGNL, MVEL et JBoss EL. SpEL fournit également certaines autres fonctionnalités, telles que les appels de méthodes et les fonctionnalités de modèle de chaîne.

API SpEL

L'API SpEL fournit de nombreux interfaces et classes. Ils sont les suivants:

Interface Expression Classe SpelExpression Interface ExpressionParser Classe SpelExpressionParser Interface EvaluationContext Classe StandardEvaluationContext

Exemple 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());
}
}

Autres exemples de SPEL

Voyons de nombreux exemples utiles de SPEL. Ici, nous supposons que tous les exemples sont écrits à l'intérieur de la méthode main().

Utiliser la méthode concat() avec String

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

Convertir une chaîne de caractères en tableau 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 chaîne en octets et obtenir la longueur

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

Convertir le contenu de la chaîne en majuscules

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());