0

私は今までSpringFrameworkを使ったことがありませんでした。春のドキュメントを読んで読んでみましたが、次の簡単な質問に対する答えが見つかりませんでした。

アプリケーションはビルドディレクトリにビルドされます。これまでのところ、 JBOSS (またはapache)サーバーを起動しようとすると、ログには、見つからなかったためにBeanをビルドできないと記載されています。

var / config/madagascar.prop。。WEB-INF/applicationContext.xmlで次のスニペットをWRTします

<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 "は何をしようとしていますか?システムenvから" application.home "の値を読み取ろうとしていますか?

4

1 に答える 1

1

「application.home」は実行時値でSystem.getProperty("application.home")あり、「propertyFile」Bean は、new java.io.File(String, String)application.home が設定されているものとその 2 番目の文字列を使用した呼び出しから返される java.io.File オブジェクトです。

必要な Bean が「propertyFile」である場合、実行時の等価物は次のようになります。

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

その構成は、非常にSpring 1.x(古いものを読む)の方法です。@JavaConfigXML は、これらのタイプの初期化の多くを実行するための非常に厄介な方法であり、それが Spring のアプローチが非常に人気になった理由の 1 つです。

于 2012-06-05T19:46:29.010 に答える