Spring Expression Language(SpEL)

두별·2021년 12월 1일
0

Spring Framework

목록 보기
9/18
post-thumbnail

패캠 초격차 Part1. Spring Framework-Ch.02 필기노트

Spring Expression Language(SpEL)

표현언어
짧고 간단한 문법을 통해 필요한 데이터나 설정값을 얻어올 수 있게 하는 특별한 형태의 표현식에 가까운 간편한 언어(그래프 접근등 가능)

SpEL은 그 중에서도 스프링 모든 영역에서 사용 가능한 언어 형식

@Value("$(config.value)")와 같은 식으로 설정값을 주입받는데 활용

SpEl의 값 평가 (evaluation)

  • SpelParser는 ""안에 들어가있는 문자열을 평가해서 결과값을 만든다. 함수도 포함 가능 contat(), toUpperCase() 등

Bean의 Property를 설정할 때 사용하는 방식

@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
}

결론

스프링 내에는 Expression 언어가 있고 그 언어는 평가식을 통해서 특정 평가식을 만들어서 bean에 결과를 담아줄 수도 있고 Property 특정 키 값을 통해서 값을 담는데에도 활용할 수 있다. 주로 많이 활용하는 곳은 어플리케이션 프로퍼티 값을 가져올때 운영환경과 테스트 환경을 분리할때 많이 활용을 한다.

0개의 댓글