Loading...
Spring Framework Reference Documentation 7.0.2의 Bean References의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
evaluation context가 bean resolver로 구성된 경우, @ symbol을 prefix로 사용하여
expression에서 bean을 조회할 수 있습니다. 다음 예제는 그 방법을 보여 줍니다:
1ExpressionParser parser = new SpelExpressionParser(); 2StandardEvaluationContext context = new StandardEvaluationContext(); 3context.setBeanResolver(new MyBeanResolver()); 4 5// This will end up calling resolve(context, "someBean") on MyBeanResolver 6// during evaluation. 7Object bean = parser.parseExpression("@someBean").getValue(context);
1val parser = SpelExpressionParser() 2val context = StandardEvaluationContext() 3context.setBeanResolver(MyBeanResolver()) 4 5// This will end up calling resolve(context, "someBean") on MyBeanResolver 6// during evaluation. 7val bean = parser.parseExpression("@someBean").getValue(context)
bean name에 dot (
.)이나 다른 special character가 포함된 경우, bean의 name을 _string literal_로 제공해야 합니다. 예를 들어,@'order.service'와 같습니다.
factory bean 자체에 접근하려면, 대신 bean name 앞에 & symbol을 prefix로 붙여야 합니다.
다음 예제는 그 방법을 보여 줍니다:
1ExpressionParser parser = new SpelExpressionParser(); 2StandardEvaluationContext context = new StandardEvaluationContext(); 3context.setBeanResolver(new MyBeanResolver()); 4 5// This will end up calling resolve(context, "&someFactoryBean") on 6// MyBeanResolver during evaluation. 7Object factoryBean = parser.parseExpression("&someFactoryBean").getValue(context);
1val parser = SpelExpressionParser() 2val context = StandardEvaluationContext() 3context.setBeanResolver(MyBeanResolver()) 4 5// This will end up calling resolve(context, "&someFactoryBean") on 6// MyBeanResolver during evaluation. 7val factoryBean = parser.parseExpression("&someFactoryBean").getValue(context)
Varargs Invocations
Ternary Operator (If-Then-Else)