獲取spring容器IOC核心容器

ApplicationContext的三個常用實現類

  1. classPathXmlApplicationContext: 它可以加載路徑下的配置文件,要求配置文件必須在類路徑下。不在的話加載不了
  2. FileSystemXmlApplicationContext: 它可以加載磁盤任意路徑下的配置文件件(必須有訪問權限)
  3. AnnotationConfigApplicationContext:它是用於讀取註解創建容器的

核心容器的兩個接口引發出的問題:

1、 ApplicationContext: 單例對象適用
它在構建核心容器時,創建對象採取的策略是採用立即加載的方式。也就是說,只要一讀取配置文件馬上就創建文件中配置的對象。
2、BeanFactory: 多例對象適用
它在構建核心容器時,創建對象採取的策略是採用延遲加載的方式。也就是說,什麼時候根據id獲取對象了,什麼時候才真正的構建對象。

代碼

public static void main(String[] args){
            //1.獲取核心容器對象
        //ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        //2.根據id獲取Bean對象
        //IAccountService as = (IAccountService)ac.getBean("accountService");
       // IAccountDao adao = ac.getBean("accountDao",IAccountDao.class);

        //System.out.println(as);
       // System.out.println(adao);

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

        IAccountService as = (IAccountService)factory.getBean("accountService");
        System.out.println(as);

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章