Ответ 1
<import resource="classpath:spring-config.xml" />
Справка:
- Составление конфигурации на основе XML метаданные
- Resources (здесь
classpath:
часть объясняется)
У меня есть два проекта с именем 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
, чтобы bean был доступен в моем контроллере, который находится в проекте simple-core-web
.
simple-core-web
проект имеет банку проекта simple-core-impl
.
Итак, скажите, пожалуйста, как я могу импортировать spring-config.xml
одного проекта в spring-config.xml
другого проекта, чтобы все beans первого были доступны в другом проекте, просто импортировав?
Я не хочу переписывать все beans.
<import resource="classpath:spring-config.xml" />
Справка:
classpath:
часть объясняется)Небольшая вариация ответа Шона:
<import resource="classpath*:spring-config.xml" />
С звездочкой для spring файлов поиска spring -config.xml 'в любом месте пути к классам.
Другая ссылка: Разделить конфигурацию spring для нескольких проектов
По какой-то причине импорт, предложенный Рикардо, не работал у меня. Я получил его работу со следующим утверждением:
<import resource="classpath*:/spring-config.xml" />
Вы должны добавить jar/war модуля B в модуле A и добавить путь к классам в новый файл spring -module. Просто добавьте эту строку
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>
Вот пример, основанный на аннотации:
@SpringBootApplication
@ImportResource({"classpath*:spring-config.xml"})
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}