1

除了必须使用之外,如何访问context:place-holder脚本组件中加载的属性${property-name}?我想找到包含这些键值对的对象。类似的东西context.getProperty("property-name")

4

1 回答 1

5

Spring 属性占位符在配置时解析,不会存储在任何地方,因此之后无法加载它们。

如果你需要存储它,你总是可以将它们注入一个 bean 并从注册表中检索它。

基本上你需要做的就是声明你的bean:

<spring:bean class="your.Bean" name="yourBean" >
   <spring:property name="yourBeanAttribute" value="${somePlaceHolder}" />
</spring:bean>

然后您可以从脚本组件/变压器中检索它以及注册表中的 somePlaceHolder 值:

<scripting:transformer doc:name="Script">
 <scripting:script engine="Groovy">
  <scripting:text><![CDATA[
def val = muleContext.getRegistry().lookupObject('yourBean').getYourBeanAttribute()
]]></scripting:text>
  </scripting:script>
 </scripting:transformer>

高温高压

于 2013-07-15T18:32:19.373 回答