Связь между contextConfigLocation(s) в web.xml

Я определил contextConfigLocation(s) в web.xml следующим образом:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/app/servlet-context.xml</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

В root-context.xml у меня есть

<context:property-placeholder location="${propFile}" />

Теперь я заметил, что никаких свойств не требуется в компоненте Spring, настроенном в servlet-context.xml или его дочернем контексте xml (beans:import ) могут быть разрешены, хотя они четко определены в propFile и могут быть разрешены из root-context.xml или его дочернего контекста xml.

Кроме того, что более болезненно,

если я определяю mvc:interceptor с mvc:mapping path="/"** внутри root-context.xml, перехватчик не вызывается для шаблона запроса ="/rest /*". Но тот же перехватчик вызывается успешно, если он настроен внутри servlet-context.xml или его дочернего xml.

Пожалуйста, дайте мне знать, если я что-то упустил или это ожидаемое поведение?

Среда:

Версия Java: 1.8.0_60, поставщик: Oracle Corporation

Название ОС: "windows 7", версия: "6.1", арка: "amd64", семейство: "dos"

Версия большинства моих зависимостей Spring, таких как (spring-context, spring-beans и т. д.), разрешена io.spring.platform:platform-bom:Brussels-SR3 как 4.3.9.RELEASE


person lab bhattacharjee    schedule 23.09.2017    source источник
comment
stackoverflow.com/questions/3816617/ , stackoverflow.com/questions/25610490/   -  person lab bhattacharjee    schedule 24.09.2017