- Spring SpEL - Home
- Spring SpEL - Overview
- Spring SpEL - Environment Setup
- Spring SpEL - Create Project
- Expression Evaluation
- Spring SpEL - Expression Interface
- Spring SpEL - EvaluationContext
- Bean Configuration
- Spring SpEL - XML Configuration
- Spring SpEL - Annotation Configuration
- Language Reference
- Spring SpEL - Literal Expression
- Spring SpEL - Properties
- Spring SpEL - Array
- Spring SpEL - List
- Spring SpEL - Map
- Spring SpEL - Methods
- Operators
- Spring SpEL - Relational Operators
- Spring SpEL - Logical Operators
- Spring SpEL - Mathematical Operators
- Spring SpEL - Assignment Operator
- Special Operators
- Spring SpEL - Ternary Operator
- Spring SpEL - Elvis Operator
- Spring SpEL - Safe Navigation Operator
- Collections
- Spring SpEL - Collection Selection
- Spring SpEL - Collection Projection
- Other Features
- Spring SpEL - Constructor
- Spring SpEL - Variables
- Spring SpEL - Functions
- Spring SpEL - Expression Templating
- Spring SpEL - Useful Resources
- Spring SpEL - Quick Guide
- Spring SpEL - Useful Resources
- Spring SpEL - Discussion
Spring SpEL - Relational Operators
SpEL expression supports relational operators like <, >, equals etc. It also support instance of and matches operators.
Following example shows the various use cases.
Example
Let's update the project created in Spring SpEL - Create Project chapter. We're adding/updating following files −
MainApp.java − Main application to run and test.
Here is the content of MainApp.java file −
package com.tutorialspoint;
import java.text.ParseException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.expression.EvaluationContext;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
public class MainApp {
public static void main(String[] args) throws ParseException {
ExpressionParser parser = new SpelExpressionParser();
// evaluates to true
boolean result = parser.parseExpression("2 == 2").getValue(Boolean.class);
System.out.println(result);
// evaluates to false
result = parser.parseExpression("2 < -5.0").getValue(Boolean.class);
System.out.println(result);
// evaluates to true
result = parser.parseExpression("'black' < 'block'").getValue(Boolean.class);
System.out.println(result);
// evaluates to false
result = parser.parseExpression("'xyz' instanceof T(int)").getValue(Boolean.class);
System.out.println(result);
// evaluates to false
result = parser.parseExpression("'5.0067' matches '^-?\\d+(\\.\\d{2})?$'").getValue(Boolean.class);
System.out.println(result);
}
}
Output
true false true false false
Advertisements