日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring学习笔记01-BeanFactory和ApplicationContext的区别

發布時間:2024/7/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring学习笔记01-BeanFactory和ApplicationContext的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spring學習筆記01-BeanFactory和ApplicationContext的區別

BeanFactory 和 ApplicationContext 的區別

??????????BeanFactory 才是 Spring 容器中的頂層接口。 ApplicationContext 是它的子接口。
??????????BeanFactory 和 ApplicationContext 的區別: 創建對象的時間點不一樣。
??????????ApplicationContext:只要一讀取配置文件,默認情況下就會創建對象。 BeanFactory:什么使用什么時候創建對象。

ApplicationContext 接口的實現類

???????? ClassPathXmlApplicationContext: 它是從類的根路徑下加載配置文件 推薦使用這種
??????????FileSystemXmlApplicationContext: 它是從磁盤路徑上加載配置文件,配置文件可以在磁盤的任意位置。
??????????AnnotationConfigApplicationContext: 當我們使用注解配置容器對象時,需要使用此類來創建 spring容器。它用來讀取注解。

spring 中工廠的類結構圖

package com.itheima.ui;import com.itheima.dao.IAccountDao; import com.itheima.service.IAccountService; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource;/*** 模擬一個表現層,用于調用業務層*/ public class Client {/*** 獲取spring的Ioc核心容器,并根據id獲取對象** ApplicationContext的三個常用實現類:* ClassPathXmlApplicationContext:它可以加載類路徑下的配置文件,要求配置文件必須在類路徑下。不在的話,加載不了。(更常用)* FileSystemXmlApplicationContext:它可以加載磁盤任意路徑下的配置文件(必須有訪問權限)** AnnotationConfigApplicationContext:它是用于讀取注解創建容器的,是明天的內容。** 核心容器的兩個接口引發出的問題:* ApplicationContext: 單例對象適用 采用此接口* 它在構建核心容器時,創建對象采取的策略是采用立即加載的方式。也就是說,只要一讀取完配置文件馬上就創建配置文件中配置的對象。** BeanFactory: 多例對象使用* 它在構建核心容器時,創建對象采取的策略是采用延遲加載的方式。也就是說,什么時候根據id獲取對象了,什么時候才真正的創建對象。* @param args*/public static void main(String[] args) {//1.獲取核心容器對象ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); // ApplicationContext ac = new FileSystemXmlApplicationContext("C:\\Users\\zhy\\Desktop\\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);as.saveAccount();//--------BeanFactory---------- // Resource resource = new ClassPathResource("bean.xml"); // BeanFactory factory = new XmlBeanFactory(resource); // IAccountService as = (IAccountService)factory.getBean("accountService"); // System.out.println(as);} }

總結

以上是生活随笔為你收集整理的spring学习笔记01-BeanFactory和ApplicationContext的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。