(1)从classpath路径下加载
Resource resource = new FileSystemResource("E:\\proj\\applicationContext.xml");
XmlBeanFactory bean = new XmlBeanFactory(resource);
通过这种方式加载,需要将Spring的配置文件放到当前项目的classpath路径下,这里所说的classpath指的就是你的应用程序的src的目录,在web环境下,src目录下的源文件经编译后,会自动移到WEB-INF\class目录。
(2)从文件系统中加载applicationContext.xml文件
这种方式使用FileSystemResource来指定Spring配置文件的位置
ApplicationContext ctx = new FileSystemXmlApplicationContext("src/aop/aop.xml");
BeanInterface b = (BeanInterface)ctx.getBean("beanid");
Resource resource = new ClassPathResource("applicationContext.xml");
XmlBeanFactory bean = new XmlBeanFactory(resource);
BizInterface biz = (BizInterface)bean.getBean("beanid");
(3)从输入流中applicationContext.xml文件
InputStream因为是抽象类,不能直接实例化,通常使用FileInputStream来获取一个文件流,才用这种方式,同上面提到的从文件系统加载配置文件的方式一样,Spring配置文件可以在硬盘的任意位置。
InputStream is = new FileInputStream("E:\\proj\\applicationContext.xml");
Resource resource = new InputStreamResource(is);
XmlBeanFactory bean = new XmlBeanFactory(resource);
(4)基于多配置文件的加载
可以加载单个或多个配置文件
String [] configFile = {"applicationContext1.xml,applicationContext2.xml"};
ApplicationContext ac = new ClassPathXmlApplicationContext(configFile);
BeanFactory bean = (BeanFactory)ac;