在Spring XML配置文件中连接字符串?

时间:2010-11-23 21:56:27

标签: java xml spring configuration

我在Spring配置文件中有一个String值,它是JNDI查找的结果 - 它恰好是路径名:

<jee:jndi-lookup id="myAppHomeDir" jndi-name="myAppHomeDir" />

现在我需要在此路径的末尾连接另一个字符串并将其移交给另一个Spring bean,如下所示(当然这不起作用):

<bean id="LogPath" class="org.mystuff.initBean">
    <property name="logDirectory">
       <jee:jndi-lookup id="myAppHomeDir"
                 jndi-name="myAppHomeDir" /> + "/logs"
    </property>
</bean>

有没有一种简单的方法可以在不用Java编写实用程序类的情况下执行此操作?

1 个答案:

答案 0 :(得分:30)

尝试使用Spring EL (expression language)。我会尝试以下(未经测试):

<jee:jndi-lookup id="myAppHomeDir" jndi-name="myAppHomeDir" />

<bean id="LogPath" class="org.mystuff.initBean">
    <property name="logDirectory" value="#{myAppHomeDir+'/logs'}"/>
</bean>

不太确定它是否有效。困扰我的是连接时从File(我猜)到String的转换。因此,如果前一个不起作用,我会尝试:

#{myAppHomeDir.canonicalPath+'/logs'}

告诉我们是否有效。