Spring SpEL Tutorial
Selected Reading
- Spring SpEL - Discussion
- Spring SpEL - Useful Resources
- Spring SpEL - Quick Guide
- Spring SpEL - Expression Templating
- Spring SpEL - Functions
- Spring SpEL - Variables
- Spring SpEL - Constructor
- Spring SpEL - Collection Projection
- Spring SpEL - Collection Selection
- Spring SpEL - Safe Navigation Operator
- Spring SpEL - Elvis Operator
- Spring SpEL - Ternary Operator
- Spring SpEL - Assignment Operator
- Spring SpEL - Mathematical Operators
- Spring SpEL - Logical Operators
- Spring SpEL - Relational Operators
- Spring SpEL - Methods
- Spring SpEL - Map
- Spring SpEL - List
- Spring SpEL - Array
- Spring SpEL - Properties
- Spring SpEL - Literal Expression
- Spring SpEL - Annotation Configuration
- Spring SpEL - XML Configuration
- Spring SpEL - EvaluationContext
- Spring SpEL - Expression Interface
- Spring SpEL - Create Project
- Spring SpEL - Environment Setup
- Spring SpEL - Overview
- Spring SpEL - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Spring SpEL - Constructor
Spring SpEL - Constructor
SpEL expression supports creating objects within expressions using new operator. We need to pass the fully quapfied name of the class.
Syntax
Employee robert = parser.parseExpression("new com.tutorialspoint.Employee( Robert , USA )").getValue(Employee.class);
Following example shows the various use cases.
Example
Let s update the project created in
chapter. We re adding/updating following files −Employee.java − Employee class.
Dept.java − Department class.
MainApp.java − Main apppcation to run and test.
Here is the content of Employee.java file −
package com.tutorialspoint; pubpc class Employee { private String name; private String country; pubpc Employee(String name, String country) { this.name = name; this.country = country; } pubpc String getName() { return name; } pubpc void setName(String name) { this.name = name; } pubpc String getCountry() { return country; } pubpc void setCountry(String country) { this.country = country; } pubpc String toString() { return "[" +name+ ", "+country + "]"; } }
Here is the content of Dept.java file −
package com.tutorialspoint; import java.util.List; pubpc class Dept { private List<Employee> employees; pubpc List<Employee> getEmployees() { return employees; } pubpc void setEmployees(List<Employee> employees) { this.employees = employees; } pubpc String toString() { return "[" + employees.toString() + "]"; } }
Here is the content of MainApp.java file −
package com.tutorialspoint; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import org.springframework.expression.EvaluationContext; import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; pubpc class MainApp { pubpc static void main(String[] args) throws ParseException { ExpressionParser parser = new SpelExpressionParser(); List<Employee> employees = new ArrayList<Employee>(); Employee robert = parser.parseExpression("new com.tutorialspoint.Employee( Robert , USA )") .getValue(Employee.class); employees.add(robert); Dept dept = new Dept(); dept.setEmployees(employees); System.out.println(dept); EvaluationContext deptContext = new StandardEvaluationContext(dept); parser.parseExpression("employees.add(new com.tutorialspoint.Employee( Jupe , USA ))") .getValue(deptContext); System.out.println(dept); } }
Output
[[[Robert, USA]]] [[[Robert, USA], [Jupe, USA]]]Advertisements