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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM