Как импортировать spring-config.xml одного проекта в spring-config.xml другого проекта? - PullRequest
74 голосов
/ 25 февраля 2011

У меня есть два проекта с именами simple-core-impl и simple-core-web.

Оба проекта spring based и оба имеют родительское имя проекта simple-core.

У меня есть simple-impl-config.xml в simple-core-impl проекте и simple-web-config.xml в simple-impl-config.xml.

У меня есть bean-компонент с классом: simple service, в котором есть один метод, который возвращает мне сообщение "Hello World".

Я хочу импортировать simple-impl-config.xml в simple-web-config.xml, чтобы компонент был доступен в моем контроллере, который находится в проекте simple-core-web.Проект

simple-core-web содержит jar проекта simple-core-impl.

Итак, скажите, пожалуйста, как я могу импортировать spring-config.xml одного проекта в spring-config.xml другого проекта, чтобы все бины первого доступны в другом проекте, просто импортировав?

Iне хочу переписывать все бобы.

Ответы [ 6 ]

115 голосов
/ 25 февраля 2011
<import resource="classpath:spring-config.xml" />

Справка:

60 голосов
/ 18 октября 2011

Небольшой вариант ответа Шона:

<import resource="classpath*:spring-config.xml" />

С помощью звездочки для поиска файлов поиска «spring-config.xml» в любом месте пути к классам.

Другая ссылка: Разделить конфигурацию Spring на несколько проектов

Разница префикса пути к классу пружины

10 голосов
/ 16 апреля 2013

Почему-то импорт, предложенный Рикардо, у меня не работал. Я понял, что работает со следующим утверждением:

<import resource="classpath*:/spring-config.xml" />

4 голосов
/ 13 сентября 2017

Вот пример на основе аннотации:

@SpringBootApplication
@ImportResource({"classpath*:spring-config.xml"})
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}
1 голос
/ 25 марта 2018
<import resource="classpath*:spring-config.xml" /> 

Это наиболее подходящий вариант для настройки пути к классам.Особенно, когда вы ищете файлы .xml в другом проекте, который находится в вашем пути к классам.

1 голос
/ 12 ноября 2013

Вы должны добавить jar / war модуля B в модуль A и добавить путь к классам в вашем новом файле подпружиненного модуля. Просто добавьте эту строку

spring-moduleA.xml - файл в модуле A в папке ресурсов. Добавляя эту строку, он импортирует все определения bean-компонента из модуля A в модуль B.

МОДУЛЬ B / spring-moduleB.xml


import resource="classpath:spring-moduleA.xml"/>

<bean id="helloBeanB" class="basic.HelloWorldB">
  <property name="name" value="BMVNPrj" />
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...