3

私のアプリケーションでは、ApplicationContext xmlファイルを src に配置しましたが、プロジェクトは正常に動作しています。をWebContent または Web-Inf フォルダー
に配置できますか?ApplicationContext.xml

また、プロパティ ファイルを WebContent に配置できるかどうかも知りたいです。

に配置ApplicationContext.xmlしたのでsrc、プロパティ ファイルを src に配置したところ、問題なく動作しました。以下はそのコードです

<bean id="licenseSettings"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:LicenseSettings.properties" />
</bean>

プロパティ ファイルを挿入しようとしましWebContent/confたが、プロパティが正常に読み取られませんでした。

私の質問は、WebContent フォルダー内のどこかに ApplicationContext.xml とプロパティ ファイルを配置できますか?

更新: ApplicationContext.xml を入れたところ、WEB-INF/classes使用して正常に読み取られましたApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");

未回答の唯一の質問は、プロパティ ファイルをどこに配置する必要があり、どこに配置するのが適切かということです。

4

2 に答える 2

10

これを行うには、いくつかの方法があります。

Spring MVCでは、次のように言及dispatcher-servletweb.xmlます

 <servlet>
          <servlet-name>mvc-dispatcher</servlet-name>
            <servlet-class>
                      org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
</servlet>

これで、デフォルトで という名前のファイルが検索されますmvc-dispatcher-servlet.xml。つまり、-servlet.xml によって追加されたサーブレット名です。そして、クラスパスでこのファイルを探します。

の方法として、xml ファイルが既にあり、その名前を変更したくない場合は、上記のサーブレット エントリに加えて、web.xml に次のエントリを追加します。

 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/ApplicationContext.xml</param-value>
 </context-param

ここでは、WEB-INF 内の任意の場所を選択できます。プロパティ ファイルをクラス フォルダーに配置して、クラスパスで検出できるようにします。Eclipse 組み込みの Tomcat を使用しているため、プロパティ プレースホルダーの Bean 構成として以下を入力します。

 <property name="location" value="classpath:../../conf/LicenseSettings.properties" /> 
于 2013-01-24T11:20:54.187 に答える
2

はい、できます。

ファイルをWEB-INF内に直接配置すると、機能するはずです。

それらをというフォルダに入れたい場合はWEB-INF/conf、参照するプロパティの場所を変更する必要がありますconf/LicenseSettings.properties

于 2013-01-24T10:30:47.340 に答える