【问题标题】:Spring ReloadableResourceBundleMessageSource configurationSpring ReloadableResourceBundleMessageSource 配置
【发布时间】:2012-04-27 02:57:12
【问题描述】:

我开发了一个简单的 Spring 应用程序,这是我的大学任务。有 3 个配置文件:web.xml、core-context.xml、dispatcher-servlet.xml 和 1 个具有默认属性的文件,称为 messages.properties,位于 /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>

但事实证明,我的任务指令说我应该在 dispatcher-servlet.xml 中配置 ReloadableResourceBundleMessageSource bean。问题是,每当我从 core-context.xml 中删除上述配置并将其放入 dispatcher-servlet.xml 时,我的本地都不再显示。

你能解释一下为什么会出现这个问题吗? 将 bean 配置放入 core-context.xml 和 dispatcher-servlet.xml 有什么区别?

【问题讨论】:

    标签: spring configuration


    【解决方案1】:

    您还没有发布您的 dispatcher-servlet.xml,但我相信它没有被 spring 容器初始化,因为它没有在任何地方声明。如果您必须指定另一个名为 dispatcher-servlet.xml 的文件,则只需将其导入 core-context.xml 即可。这应该可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 2012-10-08
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 2017-10-26
      • 2012-08-27
      • 2017-02-15
      相关资源
      最近更新 更多