JavaEE(146)
我们经常用的就是扩展它的接口ApplicationContext.而它的实现又有多种,我们只介绍一些常用的实现。applicationContext.xml文件是位于Src目录下。
第一种就是:
ApplicationContext context = new ClassPathXmlApplicationContext(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &applicationContext.xml&);//用这个成功了,不过要在web-inf和src下面同时建立两个(后来改了,只在src下面建立就可以,见后面,O(∩_∩)O~)
第二种就是:
ApplicationContext context = new FileSystemXmlApplicationContext(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &Src/applicationContext.xml &);//src下面建立xml的时候用该方法
然后DriveCar dc=(DriveCar)ctx.getBean(&DriveCar&);就可以使用了……
注意上面两种加载是的路径。
然后在把他们转换成BeanFactory就可以了。需要用到那个bean就用getBean(“”)取得,可以根据id或name都可以。
除此之外还有两种加载的方法:
第三种方法:
ClassPathResource resource = new ClassPathResource(&applicationContext.xml&);
BeanFactory factory = new XmlBeanFactory(resource);
第四种方法:
Resource resource = new
FileSystemResource(&Src/applicationContext.xml&);
BeanFactory factory = new XmlBeanFactory(resource);
同样要注意上面的路径的不同。其实classpath相对应的路径就是Src目录下,而fileSystem相对的是工程目录。所以它们路径是有区别的,加载时也要细心,不然就会报系统找不到指定的文件
第三四种方法没有测试。
刚又查了spring的ContextLoaderListener,可以再web.xml中&web-app&&/web-app&之间添加
&&&& &context-param&
&&&&&&& ¶m-name&contextConfigLocation&/param-name&
&&&&&&& ¶m-value&
&&&&&&&&&&& /WEB-INF/classes/applicationContext*.xml
&&&&&&& &/param-value&
&&&& &/context-param&
&/web-app&
就可以只在src目录下建立applicationContext.xml了,呵呵
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:362002次
积分:5282
积分:5282
排名:第4096名
原创:108篇
转载:435篇
评论:21条
(11)(14)(41)(14)(42)(21)(1)(13)(3)(3)(10)(7)(7)(5)(27)(20)(19)(32)(25)(1)(18)(2)(13)(14)(6)(14)(10)(1)(22)(21)(17)(20)(6)(2)(1)(2)(1)(9)(3)(7)(5)(2)(1)(51)(1)(1)