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:

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.