How to load multiple Spring bean configuration file
Problem
In a large project structure, the Spring’s bean configuration files are located at different folders for easy maintainability and modular. For example, Spring-Common.xml in common folder, Spring-Connection.xml in connection folder, Spring-ModuleA.xml in ModuleA folder…and etc.
You may load multiple Spring bean configuration files in code :
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring-Common.xml", "Spring-Connection.xml","Spring-ModuleA.xml"});
Or put all spring xml files under project classpath.
project-classpath/Spring-Common.xml project-classpath/Spring-Connection.xml project-classpath/Spring-ModuleA.xml
Solution
The above ways are lack of organize and error prone, the better way should be organize all your Spring bean configuration files into a single XML file. For example, create a Spring-All-Module.xml file, and import the entire Spring bean files like this :
File : Spring-All-Module.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <import resource="common/Spring-Common.xml"/> <import resource="connection/Spring-Connection.xml"/> <import resource="moduleA/Spring-ModuleA.xml"/> </beans>
Now you can load a single xml file like this :
ApplicationContext context = new ClassPathXmlApplicationContext(Spring-All-Module.xml);
Or put this file under project classpath.
project-classpath/Spring-All-Module.xmlIn Spring3, the alternative solution is using JavaConfig @Import.
What an Example !! excellent ….. truelly awesome
[...] example Published: June 20, 2011 , Updated: June 20, 2011 , Author: mkyongprintNormally, you will split a large Spring XML bean files into multiple small files, group by module or category, to make things more maintainable and [...]
[...] Load multiple Spring Bean configuration files Developers always categories different modules to different bean configuration files, here’s a tip to show how to load multiple Spring bean configuration files. [...]