Expression Language(표현언어)는 짧고 간단한 문법을 통해 필요한 데이터나 설정 값을 얻어올 수 있게 하는 특별한 형태의 표현식에 가까운 간편한 언어(그래프 접근 등 가능)
SpEL은 그 중에서도 스프링 모든 영역에서 사용 가능한 언어형식임
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("'Hello World'");
String message = (String) exp.getValue(); // "Hello World"
Expression expWow = parser.parseExpression("'Hello World'.concat('!')");
String messageWow = (String) expWow.getValue(); // "Hello World!"
Expression expString =
parser.parseExpression("new String('hello world').toUpperCase()");
String messageString = expString.getValue(String.class); // "HELLO WORLD"
@Component
public class SimpleComponent {
@Value("#{ 1+1 }")
int two; // 2
@Value("#{ 2 eq 2 }")
boolean isTrue; // true
@Value("${ server.hostname }")
String hostName; // www.server.com
@Value("#{ ${ server.hostname } eq 'www.server.com'}")
boolean isHostSame; // true
}