我们经常用的就是扩展它的接口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相对的是工程目录。所以它们路径是有区别的,加载时也要细心,不然就会报java.io.FileNotFoundException(系统找不到指定的文件)的异常了。
第三四种方法没有测试。
刚又查了spring的ContextLoaderListener,可以再web.xml中<web-app></web-app>之间添加
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext*.xml
</param-value>
</context-param>
</web-app>
就可以只在src目录下建立applicationContext.xml了,呵呵
posted on 2009-06-24 10:45
sillyha 阅读(798)
评论(0) 编辑 收藏