본문 바로가기
백엔드/스프링 핵심 개념

SpEL

by 임지혁코딩 2023. 12. 27.

특별한 표현 언어로써, 문법을 통해 데이터나 설정값을 가져오는 것 .

ex) school.calls.teacher.name이라 하면, 학교의 반의 선생님 이름 과 같이 데이터를 가져온다. 이럴때 주로 사용하는 expression langauge . Spring에서 사용가능하고 주로쓰는 짧은 표현 언어라고 볼 수 있다. 

 

작동구조

 

Helloworld라는 문자열을 그 자체를 literal로 받아서, 이를 concat할수도 있고, Uppercase인 

새로운 HELLOWORLD도 얻을 수 있다. (허나 이렇게 사용하는 경우는 거의 없다. 작동구조를 위한것)

 

Bean의 properties( properties는 bean의 설정이나 데이터 값 (변수, 속성이라고 한다))가 상수가 아니기를 바랄 때가 많을 것이다. 이럴 때 주로 사용한다. 

 

이 코드에서 보면, value annotation안의 수식을 평가한 후 , 그 평가 한 값을 넣어준다.

 istrue는 비교한 이후 값을 넣는다.  "${는 뭐지? application property 아니면 yaml 파일에서 설정한 값들을 가져온다.

설정해둔 server key값을 통해 가져왔다. (마지막줄엔 $가 안들어가있는데 이는 오타이다)

 

즉 , 결과를 담아주는 방식의 SPEL! 

그중에서 입력보단 APPLICATIONPROPERTIES나 기타로 받을때 사용한다. 

 

 

 

'백엔드 > 스프링 핵심 개념' 카테고리의 다른 글

완성한 개발자 저장 프로젝트를 통해 핵심 복습  (0) 2023.12.30
Null Safety  (1) 2023.12.27
Resource  (0) 2023.12.26
Validation, Data binding  (1) 2023.12.26
AOP  (0) 2023.12.25