Импортировать ресурсы bean-компонентов на основе профилей spring

Ниже приведен код 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>

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
1 093
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

<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 как есть.

нет, я уже импортировал этот servlet-context.xml в свой файл Application.java в @ImportResources

I_dont_know 06.07.2019 12:49

более того, ошибка в чем-то другом, вы можете проверить это в конце вопроса.

I_dont_know 06.07.2019 12:51

Смотрите правильный ответ на этот вопрос: stackoverflow.com/questions/26836345/…. <beans:beans xmlns = "http://www.springframework.org/schema/mvc" в верхней части вашего xml-файла использует mvc вместо beans, в противном случае уточните тег bean: используйте <beans:beans profile = "test">... вместо <beans profile = "test">... . Попробуйте изменить это и проверить еще раз

Fana Sithole 06.07.2019 12:57

Другие вопросы по теме