프로그래밍/Spring

스프링에서 문자(String)로된 함수 혹은 표현식 실행하기

자바조아! 2019. 12. 5. 13:13

1. 사용방법

package com.thinkbig.lep.core;

import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

public class Main {
	public static void main(String[] args) {
		  ExpressionParser parser = new SpelExpressionParser();
		  Expression exp = parser.parseExpression("add(10, 20)");
		  EvaluationContext context = new StandardEvaluationContext(new MyEvaluate());
		  Boolean result = exp.getValue(context, Boolean.class);
		  System.out.println(result);
	}
	
}

class MyEvaluate {
	public Boolean add(int a, int b) {
		return true;
	}
}