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默認是加載文件系統的配置文件
