Spring中的 BeanFactory和 ApplicationContext的區別與解釋

Spring中的 BeanFactory和 ApplicationContext的區別與解釋spring

 

 

BeanFactory :這是一個工廠,用於生成任意bean。app

           採起延遲加載第一次getBean時纔會初始化Bean。spa

ApplicationContext:是BeanFactory的子接口,功能更強大。(國際化處理、事件傳遞、Bean自動裝配、各類不一樣應用層的Context實現)。code

    當配置文件被加載,就進行對象實例化。xml

看下面兩個demo對象

下面這個是當配置文件被加載,對象就已經實例化了blog

public void demo01(){
        //從spring容器得到
        String xmlPath = "com/itheima/b_di/beans.xml";
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
       BookService bookService
= (BookService) applicationContext.getBean("bookServiceId"); bookService.addBook(); }

 

這個就是延遲加載的例子接口

public void demo02(){
        //使用BeanFactory  --第一次調用getBean實例化
        String xmlPath = "com/itheima/b_di/beans.xml";
        
        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(xmlPath));
        
        BookService bookService = (BookService) beanFactory.getBean("bookServiceId");
        
        bookService.addBook();
        
    }
相關文章
相關標籤/搜索