ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext的區別

  獲得Spring中定義的bean實例(對象).

  ClassPathXmlApplicationContext cpx=new ClassPathXmlApplicationContext ("包名(或者是保的完整路徑)/配置文件名字(也就是xml文件)");

  cpx.getBean("配置文件中定義的bean實例");

 

  classpath: 前綴是不需要的, 默認就是指項目的classpath路徑下面;
  如果要使用絕對路徑,需要加上 file: 前綴表示這是絕對路徑;


  對於FileSystemXmlApplicationContext:

   默認表示的是兩種:

  1,沒有盤符的是 項目工作路徑, 即項目的根目錄;
  2,有盤符表示的是 文件絕對路徑。
 
  如果要使用classpath路徑, 需要前綴 classpath: . 

  public class HelloClient {

  protected static final Log log = LogFactory.getLog(HelloClient.class);

  public static void main(String[] args) {

  // Resource resource = new ClassPathResource("appcontext.xml");
  // BeanFactory factory = new XmlBeanFactory(resource);

  //用classpath路徑也可以
  // ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml");
  // ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");

  // ClassPathXmlApplicationContext 使用了file前綴也是可以使用絕對路徑的
  // ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/1Java實用項目資源/2Spring/1精通Spring全 Jar代碼/workspace/workspace/example6/src/appcontext.xml");

//用文件系統的路徑 默認是指項目的根路徑
// ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");

//使用了 classpath: 前綴,作爲標誌, 這樣,FileSystemXmlApplicationContext 也能夠讀入classpath下的相對路徑
// ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
// ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/1Java實用項目資源/2Spring/1精通Spring全 Jar代碼/workspace/workspace/example6/src/appcontext.xml");

//也可以不加file前綴
ApplicationContext factory=new FileSystemXmlApplicationContext("G:/1Java實用項目資源/2Spring/1精通Spring全Jar代碼 /workspace/workspace/example6/src/appcontext.xml");

IHelloWorld hw = (IHelloWorld) factory.getBean("helloworldbean");
log.info(hw.getContent("luoshifei"));

}

}

發佈了17 篇原創文章 · 獲贊 16 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章