How to import spring-config.xml of one project into spring-config.xml of another project?
I have two projects with the name simple-core-impl
and simple-core-web
.
Both projects are spring based
and both have a parent project name simple-core
.
I have simple-impl-config.xml
in simple-core-impl
project and simple-web-config.xml
in simple-impl-config.xml
.
I have a bean which has class: simple service
which have one method which returns me a message "hello World".
I want to import the simple-impl-config.xml
in the simple-web-config.xml
so the bean is available into my controller which is in simple-core-web
project.
simple-core-web
project has a jar of simple-core-impl
project.
So please tell me how I can I import spring-config.xml
of one project into spring-config.xml
of another project so all the beans of first is available into other project by just importing?
I do not want to rewrite all the beans.
Solution 1:
<import resource="classpath:spring-config.xml" />
Reference:
- Composing XML-based configuration metadata
-
Resources (here the
classpath:
part is explained)
Solution 2:
A small variation of Sean's answer:
<import resource="classpath*:spring-config.xml" />
With the asterisk in order to spring search files 'spring-config.xml' anywhere in the classpath.
Another reference: Divide Spring configuration across multiple projects
Spring classpath prefix difference
Solution 3:
For some reason, import as suggested by Ricardo didnt work for me. I got it working with following statement:
<import resource="classpath*:/spring-config.xml" />
Solution 4:
Here is the annotation based example:
@SpringBootApplication
@ImportResource({"classpath*:spring-config.xml"})
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
Solution 5:
<import resource="classpath*:spring-config.xml" />
This is the most suitable one for class path configuration. Particularly when you are searching for the .xml files in a different project which is in your class path.