импорт ресурсов бобов на основе весенних профилей - PullRequest
0 голосов
/ 05 июля 2019

Ниже приведен код для servlet-context.xml в моем весеннем проекте. Я хочу импортировать файл demo.xml, если профиль является prod, и файл demo-test.xml, если профиль является тестовым.

<beans:beans xmlns="http://www.springframework.org/schema/mvc"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:task="http://www.springframework.org/schema/task"
             xmlns:context="http://www.springframework.org/schema/context"
             xsi:schemaLocation="
                http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
                http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <beans profile="test">
        <import resource="demo-test.xml"></import>
    </beans>
    <beans profile="prod">
        <import resource="demo.xml"></import>
    </beans>


    <task:annotation-driven
            executor="defaultExecutor"/>
    <!-- add an exception handler here. -->

    <task:executor id="defaultExecutor"
                   pool-size="50-200"
                   queue-capacity="1200"
                   keep-alive="10"
                   rejection-policy="CALLER_RUNS"/>

</beans:beans>

Но я получаю ошибку The matching wildcard is strict, but no declaration can be found for element 'beans'. для строки <beans profile="test"> и 'resource' attribute should be defined для <import resource="demo-test.xml"></import>

На основании ошибки в весенней конфигурации xml, связанной с профилями бинов Я даже пытался изменить контекст на "http://www.springframework.org/schema/beans/spring-beans-3.2.xsd", но не повезло. Может кто-нибудь помочь мне понять, что означает эта ошибка и как можно это исправить?

1 Ответ

0 голосов
/ 06 июля 2019

<beans:beans xmlns="http://www.springframework.org/schema/mvc" в верхней части вашего XML-файла использует mvc вместо beans, что означает, что пространство имен по умолчанию - mvc вместо beans.Либо уточните тег bean: используйте <beans:beans profile="test">... вместо <beans profile="test">... и <beans:import resource... вместо <import resource..., ИЛИ измените пространство имен по умолчанию на beans, чтобы использовать xml как

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...