반응형
SpEL: Spring Expression Language
Expression Lanuage(표현 언어)는 값 또는 식을 조작하거나, 데이터나 설정 값을 가져올 수 있게 하는데 사용되는 표현식에 가까운 언어입니다.
SqEL은 Spring Framework에서 사용되는 EL의 한 종류로, 스프링 모든 영역에서 사용 가능한 언어 형식입니다. 주로 설정 파일에서 값 설정, 빈 생성 조건, 프로퍼티 접근 등을 위해 활용됩니다.
- 프로퍼티 접근: 빈의 프로퍼티 값을 가져오거나 설정 가능
- 메서드 호출: 빈의 메서드를 호출하고 결과 가져오기
- 수학 및 논리 연산: 산술, 비교, 논리 연산 가능
- 조건문 및 반복문: 조건문과 반복문을 지원
- 컬렉션 처리: 리스트, 맵 등의 컬렉션을 처리할 수 있음
코드 내에서 SqEL 사용 예시:
ExpressionParser parser = new SpelExpressionParser();
// SpEL 표현식 평가
Expression exp = parser.parseExpression("'Hello, ' + 'World!'");
String message = exp.getValue(String.class); // Hello, World!
Expression exp = parser.parseExpression("'Hello, World!'");
String message = (String) exp.getValue(); // Hello, World!
Expression exp = parser.parseExpression("'Hello, '.concat('World!')");
String message = exp.getValue(String.class); // Hello, World!
Expression exp = parser.parseExpression("new String('hello, world!').toUpperCase()");
String message = exp.getValue(String.class); // HELLO, WORLD!
Bean의 Property 설정 예시:
@Component
public class MyBean {
@Value("#{T(java.lang.Math).random()}")
private double randomNumber;
// ...
}
application.properties에서 값 가져오는 예:
app.name=dutmdcjfApp
app.version=5.5.5
@Value("${app.name}")
private String appName;
@Value("${app.version}")
private String appVersion;
반응형
'Spring Framework' 카테고리의 다른 글
Spring WebClient를 활용하여 HTTP 요청 처리하기 (0) | 2023.07.27 |
---|---|
Spring @RequestParam/@PathVariable/@RequestBody/@RequestHeader/@CookieValue (0) | 2023.05.25 |
Spring web.xml, root-context.xml, servlet-context.xml (0) | 2023.05.23 |
Spring @ControllAdvice와 @ExceptionHandler로 전역 예외처리 하기 (0) | 2022.10.25 |
로그인 처리를 위한 UserDetailsService (0) | 2022.10.14 |