如何将一个表示为spel表达式的String注入到应用程序上下文bean属性中,而不将上下文将string属性解释为spel resolvable值。
<bean id="x" p:spelExpression="${#code}/${#value}"/>
我希望类的setter属性获取字符串参数并创建可重用的SpelExpression作为bean的私有属性,但是,spring应用程序上下文似乎将#variableName识别为spel表达式并尝试解释表达式在初始化时。
我发现Spel解释非常有用,但我想在内部使用spel,将表达式注入到我自己的bean中。
是否可以禁用bean的Spel解释,甚至可以禁用整个上下文文件(可能带有一些名称空间恶作剧),而无需为整个应用程序上下文禁用或修改拼写表达式解析。
答案 0 :(得分:0)
#{...}是xml上下文中spel解释器的标记。
我不明白:${#code}/${#value}
。好的是#{code/value}
,据我所知,如果代码和值是id。
所以,如果你想要一个没有解释它的spel表达式,把字符串code/value
放在xml中。