2

大学の課題である単純な Spring アプリケーションを開発しています。3 つの構成ファイルがあります: web.xml、core-context.xml、dispatcher-servlet.xml と、messages.properties と呼ばれるデフォルトのプロパティを持つ 1 つのファイルで、/WEB-INF/ フォルダーにあります。

私のアプリケーションでは、 ReloadableResourceBundleMessageSource の次の構成があり、正常に動作します。

core-context.xml

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  <property name="basenames" value="/WEB-INF/messages" />
  <property name="useCodeAsDefaultMessage" value="true" />
</bean>

web.xml

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:core-context.xml</param-value>
</context-param>
<servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

しかし、私のタスクの指示では、ReloadableResourceBundleMessageSource Bean を dispatcher-servlet.xml で構成する必要があることがわかりました。問題は、上記の構成を core-context.xml から削除して、dispatcher-servlet.xml に配置すると、ローカルが表示されなくなることです。

問題が発生する理由を説明していただけますか? core-context.xml と dispatcher-servlet.xml 内に Bean 構成を配置することの違いは何ですか?

4

1 に答える 1

1

あなたはdispatcher-servlet.xmlを投稿していませんが、どこにも宣言されていないため、Springコンテナーによって初期化されていないと思います。指定したように、dispatcher-servlet.xml という別のファイルが必要な場合は、それを core-context.xml にインポートするだけです。これで問題が解決するはずです。

于 2012-07-02T05:17:03.443 に答える