0

直到现在我还没有使用过 spring 框架。我尝试阅读和阅读 spring 文档,但找不到以下简单问题的答案。

该应用程序是 ant 构建到构建目录的。到目前为止,当我尝试启动JBOSS(或 apache)服务器时,日志显示它无法构建 bean,因为它找不到

var/config/madagascar.prop。. 在WEB-INF/applicationContext.xml中写入以下代码段

<bean id="application.home" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="targetClass" value="java.lang.System"/>
    <property name="targetMethod" value="getProperty"/>
    <property name="arguments">
        <list>
            <value>application.home</value>
        </list>
    </property>
</bean>
<bean id="propertyFile" class="java.io.File">
    <constructor-arg ref="application.home"/>
    <constructor-arg value="var/config/madagascar.prop"/>
</bean>

你能告诉我在哪里{application.home}以及var/config预计在哪里?

它是相对于 Eclipse 项目主页还是相对于 WEB-INF?

bean id=" application.home " 试图做什么 - 它是否试图从系统环境中读取 " application.home " 的值?

4

1 回答 1

1

“application.home”是运行时值,System.getProperty("application.home")“propertyFile”bean 是一个 java.io.File 对象,它是从调用返回new java.io.File(String, String)的任何 application.home 和第二个字符串。

如果您想要的 bean 是“propertyFile”,则运行时等效项将是:

File file = new File(System.getProperty("application.home"),"var/config/madagascar.prop");

该配置是一种非常 Spring 1.x(阅读旧)的做事方式。XML 是一种非常笨拙的方式来执行许多这些类型的初始化,这也是 Spring 的@JavaConfig方法如此流行的原因之一。

于 2012-06-05T19:46:29.010 回答