Spring容器在非web环境下实例化

(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;  

你可能感兴趣的:(spring,AOP,Web,bean,xml)