spring中ClassPathXmlApplication和FileSystemXmlApplicationContext使用区别

  

     ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
     DataSource ds = (DataSource) ac.getBean("ds");
     System.out.println(ds);

ClassPathXmlApplicationContext中的参数默然去classPath路径下找.可以加classpath:applicationContext.xml.

如果多个xml文件,可以new String数组

    ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","applicationContext_dao.xml"});

如果使用文件路径也可以

    ApplicationContext ac = new ClassPathXmlApplicationContext("file:F:\\lee\\workspace\\struts2\\oa\\src\\applicationContext.xml");

    注意:如果死绝对路径,file:是必须有的.

ClassPathXmlApplicationContext和FileSystemXmlApplicationContext的使用区别

 FileSystemXmlApplicationContext的参数中如果使用绝对路径的话,可以加file前缀,也可以不加file前缀,这就是和classpahtXmlApplicaitonContext的区别之一

   ApplicationContext ac = new FileSystemXmlApplicationContext("file:F:\\lee\\workspace\\struts2\\oa\\src\\applicationContext.xml");

   ApplicationContext ac = new FileSystemXmlApplicationContext("F:\\lee\\workspace\\struts2\\oa\\src\\applicationContext.xml"); 

第二个也是可以的

如果要到class路径去寻找的话,就必须加上classpath

   ApplicationContext ac = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");

如果不绝对的路径,也不指定classpath,它默认在项目的路径下找

  ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml");

 ApplicationContext ac = new FileSystemXmlApplicationContext("webcontent/applicationContext.xml");

而且路径不区分大小写

 总结:ClassPathXmlApplicationContext默认是加载classpath路径下的配置文件,而FileSystemXmlApplicationContext默认是加载文件系统的配置文件

posted @ 2015-08-07 17:17  如果可以在重来  阅读(3451)  评论(0编辑  收藏  举报