spring中ClassPathXmlApplication和FileSystemXmlApplicationContext使用区别

来源:互联网 发布:三得利乌龙茶 知乎 编辑:程序博客网 时间:2024/06/05 04:42

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默认是加载文件系统的配置文件


阅读全文
0 0
原创粉丝点击