1. SpEL(Spring Expression Language)
1-1) SpEL
SpEL은 객체 그래프를 조회하거나 조작하는 기능을 제공함. 예시로 JSP에서 EL을 볼 수 있음.
스프링에서는 EL의 기능과 비슷하지만 메소드 호출을 지원하고 문자열 템플릿 기능도 제공해주는
EL이 프로젝트 전반에 걸쳐서 필요했음. 이러한 필요에 의해서 만들어진 것이 바로 SpEL이며
스프링 코어단에 추가 되었음. SpEL은 스프링 3.0부터 지원함.
1-2) SpEL 구성
ExpressionParser parser
1-3) 문법
#{"표현식}
${"프로퍼티"}
표현식은 프로퍼티를 가질 수 있지만 반대는 안 됨.
ex) #{${my.data} +1}
1-4) 실제로 어디서 쓰일까?
2. #{"표현식"}
2-1) class AppRunner
2-2) Console
3. ${"프로퍼티"}
3-1) AppRunner
3-2) application.properties
3-3) Console
4. #{${프로퍼티} + 표현식}
4-1) 특징
표현식은 프로퍼티를 가질 수 있지만 반대는 안 됨.
4-2) class AppRunner
→ 프로퍼티 값과 표현식을 비교해서 표현할 수 있음.
4-3) Console
5. Bean 참조 가능
5-1) class Sample
5-2) AppRunner
5-3) Console
6. ExpressionParser
6-1) class AppRunner
6-2) Console