Ich habe zwei Projekte mit dem Namen simple-core-impl
und simple-core-web
.
Beide Projekte sind spring based
und beide haben einen übergeordneten Projektnamen simple-core
.
Ich habe simple-impl-config.xml
im simple-core-impl
Projekt und simple-web-config.xml
in simple-impl-config.xml
.
Ich habe eine Bohne mit Klasse: simple service
Diese hat eine Methode, die mir die Nachricht "Hallo Welt" zurückgibt.
Ich mag , dass die importierenden simple-impl-config.xml
in der simple-web-config.xml
so die Bohne in meinen Controller zur Verfügung , die in ist simple-core-web
Projekt.
simple-core-web
Projekt hat ein Glas simple-core-impl
Projekt.
Sagen Sie mir also bitte, wie ich spring-config.xml
ein Projekt in ein spring-config.xml
anderes Projekt importieren kann, damit alle Beans von first durch einfaches Importieren in ein anderes Projekt verfügbar sind.
Ich möchte nicht alle Bohnen neu schreiben.
Antworten:
<import resource="classpath:spring-config.xml" />
Referenz:
classpath:
Teil erklärt)quelle
@Import
, um Ihre anderen@Configuration
Klassen zu importieren .Eine kleine Variation von Seans Antwort:
<import resource="classpath*:spring-config.xml" />
Mit dem Sternchen, um Suchdateien 'spring-config.xml' an einer beliebigen Stelle im Klassenpfad zu speichern.
Eine weitere Referenz: Teilen Sie die Spring-Konfiguration auf mehrere Projekte auf
Unterschied im Spring-Klassenpfad-Präfix
quelle
Aus irgendeinem Grund funktionierte der von Ricardo vorgeschlagene Import bei mir nicht. Ich habe es mit folgender Aussage zum Laufen gebracht:
<import resource="classpath*:/spring-config.xml" />
quelle
Hier ist das auf Anmerkungen basierende Beispiel:
@SpringBootApplication @ImportResource({"classpath*:spring-config.xml"}) public class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); } }
quelle
Sie müssen das jar / war des Moduls B in Modul A hinzufügen und den Klassenpfad in Ihre neue Spring-Modul-Datei einfügen. Fügen Sie einfach diese Zeile hinzu
spring-moduleA.xml - ist eine Datei in Modul A unter dem Ressourcenordner. Durch Hinzufügen dieser Zeile werden alle Bean-Definitionen von Modul A nach Modul B importiert.
MODUL B / spring-moduleB.xml
import resource="classpath:spring-moduleA.xml"/> <bean id="helloBeanB" class="basic.HelloWorldB"> <property name="name" value="BMVNPrj" /> </bean>
quelle
<import resource="classpath*:spring-config.xml" />
Dies ist am besten für die Konfiguration von Klassenpfaden geeignet. Insbesondere, wenn Sie in einem anderen Projekt, das sich in Ihrem Klassenpfad befindet, nach XML-Dateien suchen.
quelle