2012-04-15 7 views
1

나는 내 대학 과제 인 간단한 Spring 애플리케이션을 개발한다. web.xml, core-context.xml, dispatcher-servlet.xml 및 messages.properties라는 기본 등록 정보를 가진/WEB-INF/folder에있는 1 개의 구성 파일이 있습니다. 내 응용 프로그램에서Spring ReloadableResourceBundleMessageSource 설정

내가 ReloadableResourceBundleMessageSource의 다음과 같은 구성을 가지고 있고 잘 작동 :

코어의 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 빈입니다. 문제는 core-context.xml에서 위의 구성을 제거하고 dispatcher-servlet.xml에 넣을 때 내 로컬이 더 이상 표시되지 않는다는 것입니다.

왜 문제가 발생하는지 설명해 주시겠습니까? bean-configuration을 core-context.xml과 dispatcher-servlet.xml에 넣는 것의 차이점은 무엇입니까?

답변

0

당신은 dispatcher-servlet.xml을 게시하지 않았지만 어디에도 선언되어 있지 않으므로 스프링 컨테이너에 의해 초기화되지 않았다고 생각합니다. 지정한대로 dispatcher-servlet.xml이라는 다른 파일이 있어야하는 경우 core-context.xml에서 파일을 가져올 수 있습니다. 이렇게하면 문제가 해결됩니다.

관련 문제