我对Spring很新,我有一个bean声明如下。
<bean id="mybean" class="" scope="prototype">
<property name='typeOf' value='#{typeOfBuilder.getKeyFor("OPEN_DATE").getId()}'/>
</bean>
typeOf
是一种Integer类型,它是typeOfBuilder
Key
构建的另一个表的关键,在这种情况下为OPEN_DATE
。
此代码正常但有限制。 OPEN_DATE
是NON-MANAGE Spring Bean
中的常量,如下所示。
public final class Constants
{
public final static String KEY_FOR_OPEN_DATE = "OPEN_DATE";
}
强烈建议能够参考!!。
像这样的东西。<util:constant id="PATH_TO_CONSTANT" static-field="myPath"/>
<property name='typeOf' value='#{typeOfBuilder.getKeyFor(PATH_TO_CONSTANT).getId()}'/>
任何帮助都非常感激。
答案 0 :(得分:14)
特别的&#39; T&#39; operator可用于指定java.lang.Class的实例(&#39; type&#39;)。也可以使用此运算符调用静态方法。
尝试以下代码。
<property name='typeOf' value='#{typeOfBuilder.getKeyFor(T(some.package.Constants).KEY_FOR_OPEN_DATE).getId()}'/>