您知道如何使用 Spring 内部 Spel Expression Parser 来解析包含 Spring Application Context 的 bean 引用的字符串吗?
我已经看到 SpelExpressionParser 可以与定义一些显式用户变量的 StandardEvaluationContext 一起使用。
我正在寻找一种直接使用 Spring 内部 Spel Expression Parser 绑定(bind)到整个 Spring Application Context 的解决方案。这个想法是使用与@Value SPEL 注释具有相同功能的字符串模板。
最佳答案
您可以使用 EmbeddedValueResolver
实现与 @Value
相同的功能注释:
// can be autowired or fetched from ConfigurableApplicationContext.getBeanFactory()
ConfigurableBeanFactory configurableBeanFactory;
EmbeddedValueResolver embeddedValueResolver = new EmbeddedValueResolver(configurableBeanFactory);
System.out.println(embeddedValueResolver.resolveStringValue("${someProperty}");
System.out.println(embeddedValueResolver.resolveStringValue("#{@foo.calcValue(123)}");
关于spring - 使用 Spring 内部 Spel 表达式解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42533640/