Ich entwickle eine einfache Spring-Anwendung, die meine universitäre Aufgabe ist. Es gibt 3 Konfigurationsdateien: web.xml, core-context.xml, dispatcher-servlet.xml und 1 Datei mit Standardeigenschaften, die messages.properties genannt wird und sich im Verzeichnis/WEB-INF/befindet.Spring ReloadableResourceBundleMessageSource Konfiguration
In meiner Anwendung habe ich die folgende Konfiguration von ReloadableResourceBundleMessageSource und es funktioniert gut:
Kern-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>
Aber Es stellte sich heraus, dass meine Aufgabenanweisung besagt, dass ich konfigurieren sollte ReloadableResourceBundleMessageSource-Bean in der Dispatcher-Servlet.xml. Das Problem ist, dass, wenn ich die obige Konfiguration aus core-context.xml entferne und sie in dispatcher-servlet.xml platziere, meine Locals nicht mehr angezeigt werden.
Können Sie mir erklären, warum das Problem auftritt? Was ist ein Unterschied zwischen dem Setzen der Bean-Konfiguration in core-context.xml und dispatcher-servlet.xml?