標籤:
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預設是負載檔案系統的設定檔
spring中ClassPathXmlApplication和FileSystemXmlApplicationContext使用區別