《J2EE开发全程实录 》这本书对这个问题进行了比较好的解释,推荐阅读,这里有在线阅读版:
http://book.csdn.net/bookfiles/427/

解决方案 »

  1.   

    1、FileSystemXmlApplicationContext是从文件绝对路径加载配置文件
    ApplicationContext ctx=new FileSystemXmlApplicationContext("G:/Test/applicationcontext.xml"); 
    2、ClassPathXmlApplicationContext是从classpath下加载配置文件(适合于相对路径方式加载)
    ApplicationContext ctx=new ClassPathXmlApplicationContext("/WEB-INF/classes/applicationcontext.xml"); 
    3、XmlWebApplicationContext是专为web工程定制的
    ServletContext servletContext = request.getSession().getServletContext();     
    ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );
    楼主的既然是一个web项目,那么建议用第三种方式加载呵,^_^
      

  2.   

    ApplicationContext  context = new FileSystemXmlApplicationContext我也不喜欢用这个.感觉确实有点麻烦.
    ApplicationContext  context = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
    和 zjf405(浪子阿飞)  第二种方法一样.
      

  3.   

    不要用绝对路径啊,要是项目移一个地方了,那不是很郁闷了?相对路径应该都是相对于项目名称路径的吧,比如说项目的名称是Test,这时候不管Tomcat(或者其它Web服务器)会自动找到这个文件夹的绝对路径,只要你对着这个路径就行了.有些也可能是对着那个webapps路径吧.可以测试一下,路径前加一个"/"看看它是返回到哪个路径就行了.