将Spring Spel表达式注入bean属性

时间:2011-07-13 22:30:36

标签: spring spring-el

如何将一个表示为spel表达式的String注入到应用程序上下文bean属性中,而不将上下文将string属性解释为spel resolvable值。

<bean id="x" p:spelExpression="${#code}/${#value}"/>

我希望类的setter属性获取字符串参数并创建可重用的SpelExpression作为bean的私有属性,但是,spring应用程序上下文似乎将#variableName识别为spel表达式并尝试解释表达式在初始化时。

我发现Spel解释非常有用,但我想在内部使用spel,将表达式注入到我自己的bean中。

是否可以禁用bean的Spel解释,甚至可以禁用整个上下文文件(可能带有一些名称空间恶作剧),而无需为整个应用程序上下文禁用或修改拼写表达式解析。

1 个答案:

答案 0 :(得分:0)

#{...}是xml上下文中spel解释器的标记。

我不明白:${#code}/${#value}。好的是#{code/value},据我所知,如果代码是id。

所以,如果你想要一个没有解释它的spel表达式,把字符串code/value放在xml中。