随笔-7  评论-0  文章-0  trackbacks-0
我们经常用的就是扩展它的接口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)  编辑  收藏