以ClassPathXmlApplicationContext初始化一个ApplicationContext对象时,只需要在构造方法中指定好定义文件在classpath中的路径即可,如:
ApplicationContext context = new ClassPathXmlApplicationContext(
"com/spring/resource/beans-config.xml");
在指定定义文件的路径时,也可以使用file:/、classpath:和http://等URL前置,如:
ApplicationContext context1 = new ClassPathXmlApplicationContext(
"file:/c:/java/src/com/spring/resource/beans-config.xml");
ApplicationContext context2 = new ClassPathXmlApplicationContext(
"classpath:com/spring/resource/beans-config.xml");
如果有多个定义文件,则可以使用数组来初始化,如:
String[] files = new String[]{"data.xml", "service.xml"};
ApplicationContext context =
new ClassPathXmlApplicationContext(files);
使用多个定义文件分别配置的好处是,定义文件之间是独立的,无需知道彼此的存在。也可以在一个定义文件中将另一个定义文件import进来,如,在com.spring.bean目录下有beans-config.xml文件,其内容如下:
<beans...> <import resource="../../../data.xml"/> <bean id="hello" class="com.spring.bean.HelloBean"/> </beans>
上面这个例子表示beans-config.xml引入了根目录下的data.xml文件,如果import标签直接定义为:
<import resource="data.xml"/>
则表示引入了com.spring.bean目录下的data.xml文件。