* ApplicationContest的三個常用實現類
* ClassPathXmlApplicationContext:它可以加載類路徑的配置文件,要求配置文件必須在類路徑下,如果不在則加載不了
* FileSystemXmlApplicationContext:它可以加載磁盤任意路徑下的配置文件(必須有訪問權限)
* AnnotationConfigApplicationContext:它是用於讀取注解創建容器的
* 核心容器的兩個接口引發出的問題:
* ApplicationContext:單例對象適用
* 它在構建核心容器時,創建對象采取的策略是采取立即加載的方式。也就是說,只要一讀取完配置文件馬上就創建配置文件中配置的對象
* BeanFactory: 多例對象適用
* 它在構建核心容器時,創建對象采用的策略時采用延遲加載的方式。也就是說,什么時候根據id獲取對象了,什么時候才真正創建對象
1 //1. 獲取核心容器對象 2 ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); 3 //2. 根據id獲取Bean對象 4 IAccountService as = (IAccountService) ac.getBean("accountService"); 5 //通過得到IAccountDao的字節碼進行強轉 6 IAccountDao ad = ac.getBean("accountDao",IAccountDao.class);
1 Resource resource = new ClassPathResource("bean.xml"); 2 BeanFactory factory = new XmlBeanFactory(resource); 3 IAccountService accountService = (IAccountService) factory.getBean("accountService");