Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从spring表达式解析spring属性_Spring_Spring El - Fatal编程技术网

从spring表达式解析spring属性

从spring表达式解析spring属性,spring,spring-el,Spring,Spring El,我想解析属性并使用Spel表达式指定属性的名称。如果我这样做 <property name="host" value="#{T(...Constants).SINK_PROP_HOST}" /> 这行不通。你知道我该怎么做吗。本质上,它的功能应该与 <property name="host" value="${sink.host}" /> 您不能这样做,因为属性是在SpEL之前解析的(您可以通过另一种方式进行解析) 这很有效 public class Foo {

我想解析属性并使用Spel表达式指定属性的名称。如果我这样做

<property name="host" value="#{T(...Constants).SINK_PROP_HOST}" />
这行不通。你知道我该怎么做吗。本质上,它的功能应该与

<property name="host" value="${sink.host}" />

您不能这样做,因为属性是在SpEL之前解析的(您可以通过另一种方式进行解析)

这很有效

public class Foo {

    public static final String FOO = "foo.prop";

}


<util:properties id="props">
    <prop key="foo.prop">bar</prop>
</util:properties>

<bean id="xx" class="foo.Bar">
    <property name="foo" value="#{props[T(foo.Foo).FOO]}"/>
</bean>
公共类Foo{
公共静态最终字符串FOO=“FOO.prop”;
}
酒吧
当然,您可以从文件中加载“道具”bean

public class Foo {

    public static final String FOO = "foo.prop";

}


<util:properties id="props">
    <prop key="foo.prop">bar</prop>
</util:properties>

<bean id="xx" class="foo.Bar">
    <property name="foo" value="#{props[T(foo.Foo).FOO]}"/>
</bean>