`
对酒当歌,人生几何
  • 浏览: 14241 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java取得spring's ApplicationContext的方法

阅读更多
  昨天在弄个问题,不知道怎么读取到spring的ApplicationContext,找了很久,发现下面这篇文章很清晰,就记录下来(忘记了原文网址,昨天copy下来的文章)。
spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext, FileSystemXmlApplicationContext和XmlWebApplicationContext,其中 XmlWebApplicationContext是专为Web工程定制的。使用举例如下:
   1. FileSystemXmlApplicationContext
      eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件
       eg2. String[] locations = {"bean1.xml", "bean2.xml"};
           ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //加载多个配置文件
       eg3. ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//根据具体路径加载文件
  2. ClassPathXmlApplicationContext
       eg1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
       eg2. String[] locations = {"bean1.xml", "bean2.xml"};
            ApplicationContext ctx = new ClassPathXmlApplication(locations);
       注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。
3. XmlWebApplicationContext
   eg1. ServletContext servletContext = request.getSession().getServletContext();   
        ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

    没看这篇文章之前,我用的都是前面的两种方法,一直以失败告终。难道是因为我的applicationContext.xml没有放在src下面吗——我是直接放在web-inf下面的?看了这篇文章之后,我就绕道用了第三种方法。
     哪位高手给讲解下怎么在class里面得到web-inf下面的ApplicationContext呢?路径写死就不算了。据说用ClassLoader可以,但是不了解呢。
分享到:
评论
1 楼 yuantong 2009-12-05  
第1第2种没用过。
如果放在src下的话那就要在ClassLoader加载
在WEB-INF不需要

相关推荐

Global site tag (gtag.js) - Google Analytics